【发布时间】:2020-07-24 18:01:20
【问题描述】:
如何使用单一身份验证机制对多个应用程序进行身份验证?这些应用程序在其中具有现有的身份验证,也许我需要将这些应用程序验证到与其他应用程序隔离的系统中。请提出更好的方法
【问题讨论】:
-
单点登录是否适合您的书呆子?
标签: authentication oauth-2.0 single-sign-on basic-authentication
如何使用单一身份验证机制对多个应用程序进行身份验证?这些应用程序在其中具有现有的身份验证,也许我需要将这些应用程序验证到与其他应用程序隔离的系统中。请提出更好的方法
【问题讨论】:
标签: authentication oauth-2.0 single-sign-on basic-authentication
当使用OpenID Connect 时,用户登录的第一个应用程序会将用户的浏览器重定向到授权服务器(AS)。由于用户在浏览器和 AS 之间没有会话,因此它将显示登录屏幕。用户登录并使用 ID 令牌和访问令牌重定向到应用程序(客户端)。然后应用程序将在浏览器和应用程序之间建立会话(通常是 cookie)
当用户导航到第二个应用程序时,它也会将用户重定向到 AS,但是现在用户已经在浏览器和 AS 之间建立了有效会话,因此 AS 不会显示登录屏幕(它如果用户未同意请求的范围,则可能会显示同意屏幕),并将向第二个应用程序颁发 ID 令牌和访问令牌。
现在用户通过单点登录 (SSO) 与两个应用程序建立了经过身份验证的会话。
【讨论】:
如果您将 OAuth 2.0 与 OIDC 结合使用,您可以对您的用户进行一次身份验证,并在用户访问的每个应用程序上验证访问令牌。这是典型的单点登录流程 (SSO)。
【讨论】: