禁用授权隐式流程是否仍符合 OIDC 标准?

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

根据 https://oauth.net/2/grant-types/implicit/,现在的应用程序不再建议使用隐式流程。因此,我打算禁用它。

根据 https://openid.net/specs/openid-connect-core-1_0.html#Authentication,这意味着我不会支持

id_token
id_token token
响应类型。

但是,对于发现端点,根据 https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata

response_types_supported必需。 JSON 数组,包含此 OP 支持的 OAuth 2.0 response_type 值列表。 动态 OpenID 提供商必须支持代码、id_token 和 id_token 令牌响应类型值

现在我很困惑。什么是动态 OpenID 提供商?在发现端点上不通告

id_token
id_token token
是错误的吗?

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

基础知识

在 OpenID 元数据中包含类似

code id_token
的流不会造成任何损害。重要的是您的客户使用什么。

如果您愿意,请禁用

token
id_token
。然后,您将遵循最新的 FAPI 2.0 安全建议,其中建议仅使用
response_type=code

这可以避免在前端通道上接收令牌。如果这些令牌是 JWT,那么对于 ID 令牌,它们可能会导致浏览器历史记录或服务器日志中的个人数据泄露,因为 JWT 很容易读取。

高级

动态 OpenID 提供程序实现了OIDC 规范第 15.2 节中的一些额外功能。这用于动态业务场景。

一个例子可能是提供开放银行功能的银行,商家可以使用动态客户注册和银行机构颁发的客户证书进行连接。

为了向后兼容,动态 OpenID 提供商可能需要支持使用

response_type=code id_token
。这是 FAPI 1.0 选项之一,尽管它也需要加密的 ID 令牌来防止我上面提到的信息泄露类型。

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