首页 > 解决方案 > 没有 OIDC 的 OAuth2.0(普通 OAuth2.0)

问题描述

据我了解,我们可以使用不同帐户登录的应用程序使用 OpenID Connect(OAuth2.0 的配置文件)。
OAuth 用于授权,OIDC 用于身份验证(它具有 ID 令牌-用户信息端点)。

标签: oauth-2.0oauthopenid-connectopenidopenid-provider

解决方案


我一直觉得这方面的行话没有帮助,所以我理解你的困惑。这是一个简单的英文摘要:

OAuth 2.0

在 OIDC 应用程序使用 OAuth 2.0 获取令牌之前,这涉及到可选的用户同意。获得代币的过程被称为“委托”。

实际上,尽管所有现实世界的 OAuth 2.0 提供商也包括身份验证,以确保他们的系统安全。OAuth 规范中没有定义如何进行身份验证。

OAuth 主要是关于保护数据,其中范围和声明是机制。这些链接提供了更多信息:

国际数据中心

这只是围绕身份验证前后的身份验证消息应该如何工作添加了一些更清晰的定义:

  • 客户端只包含一个openid使用 OpenID Connect 的范围
  • prompt=login客户端可以通过参数在重定向期间强制登录
  • 客户端可以通过acr_values参数请求认证方法
  • 身份验证完成后,客户端会收到一个 ID 令牌(断言),如果需要,可以对其进行数字验证,然后使用其中的信息(例如用户名)

OIDC 仍然没有定义实际身份验证的工作方式。

一起使用它们

如今,几乎所有 OAuth 安全应用程序(和库)都同时使用,因此身份验证和委托都使用基于标准的解决方案。它为您提供了最好的应用程序功能和设计模式,以做好安全工作。


推荐阅读