ASP Core、Identity Server 4 和 Angular 2 中的外部提供商登录

the*_*aun 5 asp.net oauth-2.0 .net-core identityserver4 angular

我有一个带有 Identity Server 4 的 ASP 核心应用程序设置,它为 Angular 2 SPA 提供基于令牌的身份验证。

要登录,用户名和密码通过 Http Post 发送到身份服务器的“/connect”端点。

我想扩展登录过程以包括外部提供商(Google、Facebook 等),但我可以在网上找到的所有资源都提到“帐户控制器”,它位于 MVC 应用程序内部,而我没有。

我已经能够设置此过程的客户端(在 Angular SPA 上从 Google 检索用户的 id_token),但我不知道如何继续。

我应该将 Oauth id_token 发送到哪里?我是否使用延期补助金?如何 ?

请注意,我没有“帐户控制器”类,登录流程由身份服务器完成,并且 JWT 返回到角度应用程序。我需要有关如何获取从 Google 等外部提供商获取的 Oauth id_token 的指导或建议,将其发送到 ASP 核心后端并为该 id_token 创建用户,以便下次用户从 Google 登录应用程序时,User 对象(应用程序用户)为他获取。

我的设置可以在此存储库中找到:https://github.com/robisim74/AngularSPAWebAPI

lea*_*ege 0

对于外部提供商,您需要所谓的“隐式流程”——这就是它的工作原理。检查快速启动:

https://identityserver4.readthedocs.io/en/release/quickstarts/4_external_authentication.html