如何使用社交IdP构建身份验证?

时间:2018-11-14 10:02:00

标签: asp.net xamarin.forms oauth-2.0 openid-connect

我的系统工作如下;

我有一个ASP.Net RESTful API服务器,其中包含一个用户数据库。 我还有一个Xamarin.Forms应用程序,带有注册和登录页面。

我想要的是能够使用社交IDP对登录进行身份验证的功能,然后,如果该用户以前未登录过,请将该用户注册到我的本地数据库中。

我一直在阅读如何使用OpenID Connect来实现OAuth 2.0,以通过社交IDP对我的用户进行身份验证,但是,我似乎无法全神贯注于此。从我所读的内容中,我不应该使用访问令牌进行身份验证,因为那是ID令牌的目的,但是,我也已经阅读到ID令牌的唯一目的是客户端。 >

然后我的问题是,如何确定对ASP.Net服务器的调用是由“真实人”进行的,以及如何确定由谁进行调用?

1 个答案:

答案 0 :(得分:0)

访问令牌将用于确定客户端应用程序是否已被用户授权访问资源。 ID令牌的概念来自OpenID Connect。 ID令牌的主要目的是向客户端应用程序认证用户(即,使客户端应用程序知道授权访问的人是有效人)。

为此,您必须验证ID令牌。可以使用第三方库(例如nimbusds或auth0)来完成此操作。您可以验证令牌的签名,验证令牌的完整性,并检查令牌中包含的声明(通过将它们与期望值进行比较)以验证用户详细信息。另外,您可以通过身份提供者将自定义声明(特定于您的应用/实现的任何声明)添加到令牌中,以便能够验证这些特定声明以验证用户。

相关问题