Authentication 使用Asp.Net核心基于身份的站点:如何在移动应用程序上处理身份验证?

Authentication 使用Asp.Net核心基于身份的站点:如何在移动应用程序上处理身份验证?,authentication,oauth-2.0,asp.net-core,asp.net-identity,asp.net-core-mvc,Authentication,Oauth 2.0,Asp.net Core,Asp.net Identity,Asp.net Core Mvc,我有一个基于身份的ASP.Net核心网站,我找不到如何通过c#app与它的服务交互。 该网站允许通过电子邮件+密码或facebook登录,我也希望通过应用程序登录,但当然是通过API,而不是移动网站 我有点困惑,我可以找到不同的解决方案,例如: 或者只是 第二个链接似乎是我正在寻找的,但我有点困惑,与描述中提到的服务有什么区别 哪一个应该是正确的解决方案?我只愿意使用密码或外部登录进行身份验证,然后使用C#client(.Net标准)使用API 谢谢 第二个链接似乎是我正在寻找的,但我有点困惑

我有一个基于身份的ASP.Net核心网站,我找不到如何通过c#app与它的服务交互。 该网站允许通过电子邮件+密码或facebook登录,我也希望通过应用程序登录,但当然是通过API,而不是移动网站

我有点困惑,我可以找到不同的解决方案,例如:

或者只是

第二个链接似乎是我正在寻找的,但我有点困惑,与描述中提到的服务有什么区别

哪一个应该是正确的解决方案?我只愿意使用密码或外部登录进行身份验证,然后使用C#client(.Net标准)使用API

谢谢

第二个链接似乎是我正在寻找的,但我有点困惑,说明中提到的OpenIdDict核心与服务有什么区别

(代号为ASOS)相当于ASP.NET核心世界中OWIN/Katana的OAuthAuthorizationServerMiddleware:它是一个低级OpenID连接框架,可用于实现您自己的服务器,使用与ASP.NET核心安全中间件其余部分相同的基于事件的方法

ASOS提供您所需的所有原语(例如
OpenIdConnectRequest
OpenIdConnectResponse
),并为您处理大多数协议细节(例如请求验证或令牌生成),但实现客户端身份验证或用户身份验证等功能取决于您

ASOS并非适合所有人:它专门设计为提供一种低级别、协议优先的体验,并尽可能灵活:如果您对OAuth2/OpenID Connect的总体工作方式感到不舒服,那么它可能不适合您

有关ASOS的更多信息,请阅读以下博客文章系列:


是一个基于ASOS的OpenID Connect服务器库:它可以为您处理客户端身份验证或令牌撤销之类的事情,并为您提供所需的接口(它还附带默认的基于EF的存储)

与ASOS不同,它是一个固执己见的服务器,其主要目标是通过拒绝从安全角度看不“安全”的所有内容来鼓励您做正确的事情(例如,如果客户端是机密客户端,它将拒绝包含
response\u type=token
的授权请求)

OpenIddict背后的思想是,您所要实现的就是用户身份验证,这可以在您自己的MVC控制器中使用ASP.NET核心标识来完成。其他一切都被认为是“危险的”,并被OpenIddict故意隐藏和处理


如果您想了解更多关于OpenIddict的信息,我建议您阅读以下博文:

我发布了一些关于ASOS/OpenIddict的详细信息,希望能有所帮助。请注意,我故意忽略了你的第二个问题,因为它“主要是基于意见的”(因为我是ASOS和OpenIddict的主要支持者,我不是很客观)。我想OpenIddict是我的正确解决方案,我将进一步调查/测试:)感谢澄清!(包括ASOS和OpenIddict被某人联系在一起的事实)我会选择OpenIddict,我希望它能保持多年:D你能详细说明(每个句子)3个样本对应的内容以及它们的区别吗?授权码流、隐式流和密码flow@Jean我建议阅读更多关于不同流的信息。谢谢,它似乎回答了这个问题;)我明天会详细检查!