Identity Server 4 SPA的社交登录

时间:2017-04-11 16:49:00

标签: reactjs asp.net-web-api identityserver4 asp.net-core-webapi

我正在使用Web API(asp.net core)和SPA(react-boilerplate)处理应用程序。我开始在用户注册/登录工作,其中一个要求是允许用户使用facebook,google等登录

我一直在寻找身份服务器4几周,说实话,这感觉就像是一种矫枉过正。但我愿意实施它。它有一个javascript客户端示例,但此客户端不使用外部提供程序。所以我想知道以前是否有人这样做过?我不是OAuth的专家,但我想我应该重定向我的用户对令牌服务进行身份验证,一旦他可能会使用他更喜欢的任何身份验证,然后使用URL上的令牌重定向到我的SPA?但我还没有找到如何做到这一点的例子。

我看过的另一种方法是在网络API上使用简单的JWT授权,并使用外部提供商的javascript-SDK实现社交登录,然后验证其令牌,将其作为新用户存储在我的Db上并生成我自己的JWT令牌。

1)你会推荐什么方法?
2)是否有一个Identity Server 4的示例,其中javascript客户端使用外部提供程序进行身份验证?

1 个答案:

答案 0 :(得分:6)

您对外部登录的理解似乎不正确。您应该有3个应用程序:Web API,SPA和IdentityServer。 FB和Google等身份提供商应该在IdentityServer中设置,而不是在Javascript客户端中设置。

我建议你看看快速入门7:https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/7_JavaScriptClient/src。 Javascript客户端使用IdentityModel客户端,它将为您处理重定向/保存令牌。