WCF - аутентификация сторонних приложений - PullRequest
5 голосов
/ 22 марта 2010

Я сейчас работаю над приложением для iPhone. Это приложение вызывает сервисы WCF, доступные через мое веб-приложение ASP.NET. В настоящее время моя операция WCF выглядит следующим образом:

[OperationContract]
[WebInvoke(Method = "POST")]
public string SubmitMessage(string message, int priority)
{
  try
  {
    // Process message
    // Return success code | message
  }
  catch (Exception)
  {
    // Return error code | message
  }
}

Мое веб-приложение использует проверку подлинности с помощью форм ASP.NET. Моя задача состоит в том, чтобы я только хотел, чтобы аутентифицированные пользователи могли вызывать эту операцию со своего iPhone. Я знаю, что iPhone SDK поддерживает XML. Однако я не уверен, как заблокировать мою операцию WCF так, чтобы только аутентифицированные пользователи могли получить к ней доступ.

Как сделать мою операцию WCF доступной только для аутентифицированных пользователей из сторонних приложений?

Спасибо

1 Ответ

0 голосов
/ 05 декабря 2010

Это должно быть сделано с обеих сторон передачи, а именно с сервера (сайт WCF) и клиента (iPhone).

  • Если вы используете конечные точки SOAP, вам следует искать клиентские библиотеки Objective-C SOAP. Таким образом, все, что вам нужно будет сделать, это настроить лучшие параметры безопасности в соответствии с вашими потребностями, и ваш код на стороне сервера будет почти таким же, как на данный момент.

  • Вместо этого, если вы представляете как конечные точки RESTful, я предлагаю вам поискать подход OpenID (& OAuth). Здесь также доступны библиотеки .NET и Objective-C. Я полагаю, что это решение потребовало бы гораздо большего кодирования с обеих сторон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...