Oauth 2.0 OpenID与嵌入式资源连接

Oauth 2.0 OpenID与嵌入式资源连接,oauth-2.0,openid-connect,Oauth 2.0,Openid Connect,设置是:我们有我们的用户。我们的身份验证平台(授权服务器)。和两种不同的资源。我们的设置中使用了代码授权流 现在资源A将资源B中的内容嵌入到它的页面中(使用类似于iFrame的东西)。现在我们想要完成的是,一旦用户被授权使用资源A,他将能够透明地从资源B访问嵌入式资源 这可能吗?如果是,如何操作?如果授权服务器支持单点登录(SSO),则嵌入式页面可以获得其令牌,而用户无需输入其凭据。步骤如下: 用户请求资源A 资源A将用户重定向到OAuth2服务器以获取令牌 OAuth2服务器为用户创建会话(由

设置是:我们有我们的用户。我们的身份验证平台(授权服务器)。和两种不同的资源。我们的设置中使用了代码授权流

现在资源A将资源B中的内容嵌入到它的页面中(使用类似于iFrame的东西)。现在我们想要完成的是,一旦用户被授权使用资源A,他将能够透明地从资源B访问嵌入式资源


这可能吗?如果是,如何操作?

如果授权服务器支持单点登录(SSO),则嵌入式页面可以获得其令牌,而用户无需输入其凭据。步骤如下:

  • 用户请求资源A
  • 资源A将用户重定向到OAuth2服务器以获取令牌
  • OAuth2服务器为用户创建会话(由浏览器cookie标识)
  • 用户通过身份验证并重定向到资源页面
  • 资源A页面请求资源B页面,因此资源B转到第2点,但跳过第4点,因为OAuth2服务器已经为用户提供了一个会话,并且不再要求身份验证

  • 或者,如果您的应用程序不需要access_令牌,只需要ID令牌,您可以将其从资源A传递到资源B(例如,作为URL参数)。在这种情况下,ID令牌应在其
    aud
    (观众)参数中同时包含客户端(资源A和B)。

    我们为不同的应用程序使用角色,这些角色在应用程序端确定用户是否具有身份验证。因此,OAuth2服务器仅用于粗略的mazed(很抱歉翻译错误)身份验证。而传递的角色是用于应用服务器上的精细的迷宫身份验证。现在,只有在应用程序A的处理过程中,身份令牌还包含应用程序B的角色信息时,传递身份令牌才会起作用。但是,是的,对于cookie中的会话,我认为这基本上也是它与SAML一起工作的方式。我去看看