Аутентификация веб-приложения Asp.NET CORE из Xamarin

У меня есть веб-приложение ASP.NET Core со встроенной аутентификацией.

Как я могу аутентифицировать собственное мобильное приложение Xamarin с помощью веб-приложения и использовать веб-службы?

Есть ли библиотека Xamarin для аутентификации Microsoft Identity Server?

Я нашел статью, описывающую создание серверной части веб-службы в ядре ASP.NET, но в ней отсутствует проверка подлинности (почему?):

https://docs.microsoft.com/en-us/aspnet/core/mobile/native-mobile-backend


person AVEbrahimi    schedule 21.02.2017    source источник


Ответы (2)


В статье используется шаблон веб-API, проблема в том, что ASP.NET Core поддерживает персональную аутентификацию из коробки (по крайней мере, на данный момент).

Взгляните на этот проект OpenIddict. Его действительно легко использовать, и у него есть много примеров того, как создать собственную службу аутентификации на основе веб-API ASP.NET Core. У этого проекта есть только один недостаток (на мой взгляд) - из коробки OpenIddict поддерживает только EF Core в качестве библиотеки доступа к данным, но вы можете реализовать свой собственный провайдер.

person Ilya    schedule 21.02.2017
comment
обратите внимание, что EF - объектно-реляционный преобразователь, а не поставщик базы данных. И вы можете просто настроить его для использования другой БД, например PostgreSQL, вместо SQL. - person Set; 21.02.2017
comment
Может быть, это было непонятно, но под поставщиком я имею в виду не EF, я имею в виду поставщика данных OpenIddict. Если вы хотите работать с OpenIddict и EF 6.x в качестве примера, вам нужно реализовать свой собственный поставщик данных для OpenIddict. - person Ilya; 21.02.2017

Как такового нет клиента Xamarin для Microsoft Identity Server, но вы можете использовать oAuth2. Это довольно стандартно.

Реализация сервера oAuth2, такого как OpenIddict, IdentityServer или AspNet.Security.OpenIdConnect .Server, вы можете использовать любой клиент oAuth2 для аутентификации, будь то приложение javascript или Xamarin.

Для клиентов Xamarin / .NET существует отличный клиент (PCL) под названием IdentityModel.

person xleon    schedule 22.02.2017