OpenID Connect 与 OAuth 2.0

问题描述 投票:0回答:1

OpenID Connect 和 Oauth 2.0 有什么区别? 当应用程序在 docker 容器中运行时,建议使用哪一个? 有人可以用例子简单解释一下吗?

我使用过 openid connect 。无法在 docker 中部署。 我不是说因为 openid 但我想知道这些事情

spring-boot docker keycloak
1个回答
1
投票

OAuth 2.0:

OAuth 2.0 是一个授权框架,允许第三方应用程序获得对用户资源的有限访问权限(通常在不同的服务上),而无需公开用户的凭据。 它广泛用于委托授权,例如允许第三方应用程序代表用户访问资源(例如,从第三方应用程序访问网站)。

OpenID 连接(OIDC):

OpenID Connect 是构建在 OAuth 2.0 之上的身份验证层,提供身份验证和单点登录 (SSO) 功能。 它用于用户身份验证,允许用户使用一组凭据 (SSO) 登录多个应用程序。

Docker 推荐:

OAuth 2.0 和 OpenID Connect 都可以在 Docker 容器中使用,因为它们是可以在任何环境中实现的标准协议。 OAuth 2.0 和 OIDC 之间的选择取决于您应用程序的具体要求:

  • 如果您的应用程序只需要授权(授予对资源的访问权限),OAuth 2.0 可能就足够了。
  • 如果您的应用程序需要用户身份验证(验证用户身份),建议使用 OIDC,因为它扩展了 OAuth 2.0 的身份验证功能。

示例:

假设您有一个在 Docker 容器中运行的 Web 应用程序,允许用户通过任何 IDP 访问其网站(例如:Google)

OAuth 2.0:您的应用程序可以使用 OAuth 2.0 从 IDP 授权服务器获取访问令牌。访问令牌允许您的应用程序代表用户访问网站。

OpenID Connect:如果您的应用程序还需要用户身份验证(例如,使用 Google 登录),您可以使用 OpenID Connect。用户使用其 IDP 凭据登录后,您的应用程序会收到一个 ID 令牌,其中包含有关用户的信息,例如姓名和电子邮件地址。

© www.soinside.com 2019 - 2024. All rights reserved.