我正在使用Web API(asp.net core)和SPA(react-boilerplate)处理应用程序 . 我正在开始用户注册/登录工作,其中一个要求是允许用户使用facebook,google等登录
我一直在寻找身份服务器4几周,说实话,这感觉就像是一种矫枉过正 . 但我愿意实施它 . 它有一个javascript客户端示例,但此客户端不使用外部提供程序 . 所以我想知道以前是否有人这样做过?我不是OAuth的专家,但我想我应该重定向我的用户对令牌服务进行身份验证,一旦他可以使用他更喜欢的任何身份验证,然后使用URL上的令牌重定向到我的SPA?但我没有找到如何做到这一点的例子 .
我看到的另一种方法是在Web API上进行简单的JWT授权,并使用外部提供程序的javascript-SDK实现社交登录,然后验证其令牌,将它们作为新用户存储在我的Db上并生成JWT令牌我自己的 .
1)你会推荐什么方法?
2)是否有一个Identity Server 4的示例,其中javascript客户端使用外部提供程序进行身份验证?
1 回答
您似乎对外部登录的理解不正确 . 您应该有3个应用程序:Web API,SPA和IdentityServer . FB和Google等身份提供商应该在IdentityServer中设置,而不是在Javascript客户端中 .
我建议你看一下Quickstart 7:https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/7_JavaScriptClient/src . Javascript客户端使用IdentityModel客户端,它将为您处理重定向/保存令牌 .