OAuth和OpenID连接使用

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

我开始对OAuth 2.0规范感兴趣,并且不确定到目前为止我所理解的是否正确。

OAuth是一种授权协议,而OpenID Connect是一种扩展OAuth的身份验证协议。

第一部分涉及授权客户端应用程序访问第三方资源。您正在构建一些应用程序并希望使用其他应用程序(这不是您自己的)功能(资源)的示例。

另一方面,OpenID connect,处理授权,通过验证他/她的身份来授权某个人类实体,例如,访问仅他/她可以访问的特定资源。例如,您是银行应用程序并允许用户访问其帐户,但首先他们需要与授权提供商确认其身份。

那么可以肯定地说,授权注定应用程序交互,而身份验证是人工交互吗?

oauth-2.0 openid-connect
1个回答
1
投票

您对OAuth和OpenID Connect的理解是正确的。引入OAuth时,它定义了一种获取访问令牌的方法,持有方可以使用该方式对付受OAuth访问令牌保护的端点。这允许身份细节存储在中央位置(授权服务器,即身份服务器)和维护令牌获取过程的中心位置(其中也包括人工身份验证)。

虽然访问令牌用于授予访问权限(授权),但OpenID Connect引入了与访问令牌一起传输的ID令牌。 ID令牌由客户端应用程序使用,用于验证最终用户。

令牌获取需要授权服务器上的身份验证。根据令牌获取流程(也称为OAuth授权),此身份验证将涉及人类用户。还可以遵循不涉及人类用户的流程。这种流只产生访问令牌。并且OpenID Connect只能在涉及人类用户时使用。

问:那么可以说,授权注定是应用程序交互,而身份验证是人工交互吗?

如果您的应用程序(客户端)涉及最终用户,那么该用户可以参与令牌获取流程。您还可以获取访问令牌以及ID令牌。然后使用ID令牌进行最终用户身份验证。访问令牌用于连接另一个端点。

如果您的应用程序不涉及最终用户(例如: - 服务),那么您将使用OAuth获取访问令牌,该令牌用于针对另一个端点。

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