身份服务器4 + Angular SPA作为外部供应商的联盟网关。

问题描述 投票:0回答:1

我正在设计系统的下一个组件。- Angular SPA - .NET Core微服务(其中一个在AuthService中)。

我想实现这样的架构,我的IS4将作为联盟网关(作为外部供应商的客户端--Facebook、微软、谷歌等)。同时,它必须作为一个供应商的角度SPA(将作为客户端)。

所以我想实现下一个流程。- 用户点击社交网络登录按钮(来自SPA)--IS4被调用并作为外部提供者的客户端--用户完成认证,IS4收到外部令牌--? - SPA客户端获得内部令牌

所以主要卡住的是如何实现从外部提供商到内部提供商的交换token。- 对于这种情况,SPA应该如何设置?- 接收到外部令牌后,IS4和SPA之间应该如何整合?- 在这种情况下,SPA的请求中应该包含哪些参数?- 能否使用IS4的token端点,由IS4内部进行内部token的发行?

.net-core identityserver4
1个回答
0
投票

所以我已经得到了我的小概念混乱的解决方案。

该架构是: - Angular SPA - 客户 - IS4后端+SPA与交互,由同一服务(而不是快速启动用户界面)提供服务--------。身份识别服务

接下来是流程。- 客户端开始PKCE流程 - 为用户显示交互SPA(包括外部登录提供者的登录按钮、登录密码字段等)(从身份服务中加载) - 用户点击外部提供者按钮,用户和外部提供者之间开始交互 - 交互结束后,IS4重定向到客户端,并提供代码 - 客户端用该代码请求令牌(完成PKCE流程)。

所以主要的误区在于责任。所有的UI,与授权相关的都必须在IS4端。

© www.soinside.com 2019 - 2024. All rights reserved.