说,我们有一个SPA,它依赖于我的应用程序中的API。 SPA和REST API都托管在同一台服务器上。现在我正在使用基于SAML的IDP发起的联合SSO。
我清楚地知道有关各方以及如何建立信任。
现在,假设客户端的IDP是像Okta一样的OIDC兼容服务,我是否可以通过在服务器端进行一些更改来实现类似的身份验证流程。看起来应该是可能的,但我无法将整个图片拼凑在一起。
根据我对OIDC的理解,它看起来像
从我读过的文章来看,SPA看起来应该首先调用Authorization Server来获取访问令牌,然后使用此访问令牌在Resource Server上调用userInfo API。然后它看起来像上面的第2点,我的服务器是资源服务器是错误的。客户的IDP也应该是授权服务器和资源服务器?
在那种情况下,我的服务器在哪里适合整个OIDC流程?
Okta(客户的IDP)与我的服务器之间如何建立信任?
是否有可能在OIDC中实现与IDP启动的Fed SSO流(使用SAML)相当的流量?
答案 0 :(得分:1)
您可以使用Openid Connect隐式授权类型(和response_mode = form_post)来实现类似SAML HTTP Post绑定的用户体验。如果您的IdP不支持form_post,则令牌将作为片段返回并保留在浏览器中,您将需要代码从浏览器获取令牌。