用Xamarin认证Asp.NET CORE Web应用程序

4
我有一个 ASP.NET Core 网络应用程序,具有内置身份验证功能。
如何使用网络应用程序进行 Xamarin 原生移动应用程序的身份验证并使用网络服务?
是否有适用于身份验证 Microsoft Identity Server 的 Xamarin 库?
我发现一篇文章描述了如何在 ASP.NET Core 中创建 Web 服务后端,但它省略了身份验证(为什么?)。

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

2个回答

3
在这篇文章中,他们使用了Web API模板。问题是,ASP.NET Core目前不支持个性化身份验证。看一下这个项目OpenIddict。它非常易于使用,并且有很多示例,可以基于ASP.NET Core Web API构建自己的身份验证服务。在我看来,这个项目只有一个缺点——OpenIddict仅支持EF Core作为数据访问库,但你可以实现自己的提供程序。

请注意,EF是一个对象关系映射器,而不是数据库提供程序。如果需要,您可以简单地配置它以使用另一个数据库,例如PostgreSQL,而不是SQL。 - Set
也许我的表述不够清晰,这里的提供者并不是指 EF,而是指 OpenIddict 数据提供者。如果你想要使用 OpenIddict 和 EF 6.x 进行开发,那么你需要为 OpenIddict 实现自己的数据提供者。 - Ilya Sulimanov

3

虽然没有针对微软身份服务器的Xamarin客户端,但是您可以使用oAuth2. 这是相当标准的。

实现像OpenIddictIdentityServerAspNet.Security.OpenIdConnect.Server这样的oAuth2服务器,您可以使用任何oAuth2客户端进行身份验证,可以从JavaScript应用程序或Xamarin使用。

对于Xamarin/.NET客户端,有一个很棒的客户端(PCL)称为IdentityModel


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接