2016-08-22 3 views
0

Я создаю API, который будет использовать мое общедоступное мобильное приложение (формы xamarin) для получения информации. Однако чтобы ограничить пользователей API только моим приложением по соображениям безопасности, я хочу, чтобы общедоступное мобильное приложение (формы xamarin) передало ключ, чтобы иметь возможность вызвать API. Является ли базовая аутентификация лучшим вариантом? Или есть другой подход?Web api 2 security - key для api

+0

Просто используйте встроенный материал OAuth, как вы получите с шаблоном SPA. – leppie

ответ

1

Вы можете использовать любой механизм на основе Auth в своем веб-проекте api. Лучшим будет последний Identity 2.0 с использованием Owin.

OAuth является открытым стандартом для аутентификации, и позволяет владелец ресурса уведомить поставщик ресурса, разрешение должно быть предоставлен третьей стороны для того, чтобы получить доступ к их информации, не разделяя Идентичность владельцев ресурсов.

В вашем клиентском проекте Xamarin (мобильное приложение) используйте Xamarin.Auth SDK для аутентификации ваших пользователей. Он предоставляет множество функций, а также помогает масштабировать и использовать социальную аутентификацию.

Xamarin.Auth является кросс-платформенный API для аутентификации пользователей и хранящих свои счета. Он включает аутентификаторы OAuth, которые предоставляют поддержку для использования поставщиков идентификационных данных, таких как Google, Microsoft, Facebook и Twitter.

Поток аутентификации при потреблении провайдера идентификации OAuth выглядит следующим образом:

  1. Приложение перенаправляет браузер на URL поставщика удостоверений. Параметры запроса URL-адреса указывают тип запрашиваемого доступа.

  2. Поставщик идентификационных данных обрабатывает аутентификацию пользователя и возвращает в приложение код авторизации .

  3. Приложение обменивает код авторизации, идентификатор клиента и секрет клиента для токена доступа от поставщика удостоверений.

  4. Приложение использует токен доступа для доступа к API-интерфейсам для поставщика , например запроса основных пользовательских данных.

Приложение использует классы OAuth2Authenticator и OAuth2Request, предоставляемые Xamarin.Auth, для реализации приложения на стороне потока аутентификации.

Подробное описание Authenticating Users with an Identity Provider Using the Xamarin.Auth component for authentication implementing доступно here.