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

标签 asp.net angular oauth-2.0 .net-core identityserver4

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

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

我想扩展登录过程以包括外部提供商(谷歌、Facebook 和所有),但我可以在网上找到的所有资源都提到了一个 MVC 应用程序内部的“帐户 Controller ”,我没有。

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

我将 Oauth id_token 发送到哪里?我是否使用扩展补助金?怎么样?

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

我的设置可以在这个 repo 中找到:https://github.com/robisim74/AngularSPAWebAPI

最佳答案

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

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

关于asp.net - ASP Core、Identity Server 4 和 Angular 2 中的外部提供商登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45687538/

相关文章:

asp.net - 子页面不从主页面获取样式

.net - 如何将故障转移伙伴添加到 VB.NET 中的连接字符串

angular - Elementor wordpress + React 或 Angular

youtube - 经OAuth2验证后删除YouTube收藏夹

javascript - 如何验证对 StockTwits API 的调用?

asp.net - 身份框架 - 如何通过 UserID 加入另一个配置文件表

javascript - ASP.NET Javascript 日期时间时区问题

angular - 如何始终返回 index.html Tomcat

angular - ng build --prod 与运行 ngserve 时相比,Angular 8 CSS 渲染问题

oauth-2.0 - 如何保持登录到 OAuth2 身份验证服务器?