Oauth 2.0 使用IDaaS基于OIDC的社交登录是否有标准模式?
场景:基于openid connect的SPA社交登录 案例1: 如果SPA已在社交身份验证提供商(例如Google)注册为OAuth 2.0客户端,OAuth/OIDC角色映射如下:Oauth 2.0 使用IDaaS基于OIDC的社交登录是否有标准模式?,oauth-2.0,single-page-application,openid-connect,auth0,okta,Oauth 2.0,Single Page Application,Openid Connect,Auth0,Okta,场景:基于openid connect的SPA社交登录 案例1: 如果SPA已在社交身份验证提供商(例如Google)注册为OAuth 2.0客户端,OAuth/OIDC角色映射如下: 资源所有者=正在验证用户 客户=水疗中心 授权服务器=社交身份验证提供商(例如谷歌) 资源服务器=社会认证提供商(例如谷歌) 案例2: 现在,让我们考虑使用IAAs(SPE.OKTA/AUT0)的SPA的社会认证的情况。IDaaS已向社会认证提供商(例如Google)注册了OAuth 2.0客户端,SPA已向
- 资源所有者=正在验证用户
- 客户=水疗中心
- 授权服务器=社交身份验证提供商(例如谷歌)
- 资源服务器=社会认证提供商(例如谷歌)
- 资源所有者=正在验证用户
- 客户=IDaaS(例如Okta)
- 授权服务器=社交身份验证提供商(例如谷歌)
- 资源服务器=社会认证提供商(例如谷歌)
- 资源所有者=正在验证用户
- 客户=水疗中心
- 授权服务器IDaaS(例如Okta)
- 资源服务器:IDaaS(例如Okta)
另外,对于这种涉及使用IDaaS作为身份代理的体系结构,是否有标准的OIDC/OAuth模式?您使用的是一个名为OAuth 2.0/OpenID Connect federation的概念。身份提供程序供应商使用此集成外部身份提供程序,而不是作为标准 案例1纯粹使用OAuth 2.0和OpenID connect。SPA仅仅依靠授权服务器来发行令牌 在案例2中,您依赖外部身份提供商(如您的解释中所述,例如:-谷歌)进行用户身份验证。如果您比较您的配置,您将IDaaS配置为Google的客户端。然后你的SPA成为IDaaS的客户 此用例是两个OIDC流的组合吗? 不,它使用相同的OIDC流。但IDaaS没有直接联系谷歌,而是提出了请求(而不是转发请求)。IDaaS将创建授权请求并将SPA引导到Google的登录页面。这是由IDaaS获取注册的详细信息,如重定向URL、客户端id和客户端机密来完成的 作为客户端,您将获得登录页面并提供凭据。完成后,OAuth 2.0/OpenID连接重定向将发生在IDaaS上(注意-在Google上,我们配置了重定向URL到IDaaS)。IDaaS将接收重定向并对其进行处理。根据使用的流,步骤中将涉及令牌请求。然后进行令牌处理 在此步骤中,IDaaS将在内部替换令牌。它将首先验证谷歌发行的代币。如果令牌有效,IDaaS将创建一个新的令牌,其中包含谷歌要求的声明以及设置为SPA已知值的受众和发行者值 基本上IDaaS接收原始的Google令牌。SPA接收IDaaS创建的令牌。这是相同的流程,但是中间IDAS与外部身份提供者一起工作