首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有基于IDaaS的基于OIDC的社会登录的标准模式?

是否有基于IDaaS的基于OIDC的社会登录的标准模式?
EN

Stack Overflow用户
提问于 2018-11-08 05:06:51
回答 1查看 396关注 0票数 2

场景:openid-基于连接的SPA社交登录。

案例1:在SPA中注册为OAuth 2.0客户端,向社会身份验证提供者(ex )注册。( Google) OAuth/OIDC的角色映射如下:

  • 资源所有者=验证用户
  • Client = SPA
  • 授权服务器=社会身份验证提供程序(例如。谷歌( Google)
  • Resource =社会身份验证提供程序(例如。谷歌( Google)

案例2:现在,让我们考虑使用IDaaS (ex )的SPA的社会身份验证的情况。Okta/Auth0)。IDaaS已经向社会认证提供商(如ex)注册了OAuth 2.0客户端。谷歌( Google)和SPA已经在IDaaS注册了一个IDaaS 2.0客户端。

问题:这个用例是两个OIDC流(嵌套的)的组合吗?

流程1:

  • 资源所有者=验证用户
  • Client = IDaaS (前)(奥克塔)
  • 授权服务器=社会身份验证提供程序(例如。谷歌( Google)
  • Resource =社会身份验证提供程序(例如。谷歌( Google)

(此时,社会服务提供商宣称id_token (iss=Google,aud=IDaaS)为IDaaS redirect_uri)

流程2:

  • 资源所有者=验证用户
  • Client = SPA
  • 授权服务器IDaaS (前)(奥克塔)
  • 资源服务器: IDaaS (ex.(奥克塔)

(最后,IDaaS将id_token (iss=IDaaS,aud=SPA)断言为SPA redirect_uri,此时SPA的身份验证已经完成)。

以上的理解是否正确?

另外,对于这种涉及使用IDaaS作为身份代理的体系结构,是否有标准的OIDC/OAuth模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-09 04:30:29

您正在使用一个名为OAuth 2.0/OpenID联合的概念。身份提供者供应商使用这种集成的外部标识提供者,而不是作为标准。

案例1完全使用OAuth 2.0和OpenID连接。SPA只是依靠授权服务器来发出令牌。

案例2中,用户身份验证依赖于外部身份提供程序(如您的解释所示)。如果您比较您的配置,您将IDaaS配置为谷歌的客户端。然后你的SPA成为IDaaS的客户。

这个用例是两个OIDC流的组合吗?

不,它使用的是同样的OIDC流。但是IDaaS没有直接联系Google,而是提出了请求(而不是转发请求)。IDaaS将创建授权请求并将SPA直接发送到Google的登录,page.This是通过IDaaS获得注册的详细信息,如重定向URL、客户端id和客户端机密。

作为客户端,您将获得登录页面并提供凭据。一旦完成,OAuth 2.0/OpenID重定向就会发生在IDaaS上(注意--我们在IDaaS上配置了将URL重定向到IDaaS)。IDaaS将接收重定向并处理它。根据所使用的流,该步骤将涉及一个令牌请求。然后继续进行令牌处理。

在这个步骤中,在内部,IDaaS将替换令牌。它将首先验证谷歌发布的令牌。如果令牌是有效的,IDaaS将创建一个新的令牌,要求谷歌以及受众和发行者的值设置为SPA已知值。

基本上是IDaaS接收原始的Google令牌。SPA接收IDaaS创建的令牌。这是相同的流程,但是中间的IDaaS与外部标识提供程序一起工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53201842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档