繁体   English   中英

ASP NET Core 中的 OpenID Connect 安全注意事项

[英]OpenID Connect security considerations in ASP NET Core

我正在查看OpenIdConnectHandler https://github.com/dotnet/aspnetcore/blob/main/src/Security/Authentication/OpenIdConnect/src/OpenIdConnectHandler.cs用作 ASP NET Core 中的身份验证处理程序,我看到一些奇怪的(至于我)的做法。

首先,它看起来 state 它只是加密的AuthenticationProperties的字节(第 252 行)。 此外,在设置(另一个?) state 之前生成 CorrelationId(可能相当于状态),并且相关 id 值为“N”。 这对我来说没有意义。

其次,带有 nonce 的 cookie 的值也等于“N”。

为什么这些值在 cookie 名称中而不是在其值中? 以及未来授权重定向中的state参数是什么? 毕竟,它们不能是加密的 AuthenticationProperties 中的字节,我认为它们不是加密随机的。 我完全不明白这段代码,它实际上是如何工作的?

state 参数允许客户端(处理程序)设置自定义数据容器并将其作为 state 参数在初始身份验证请求中传递。

然后客户端将收到此 state 数据以及授权码。

客户端应验证发送的 state 是否与接收的 state 匹配。 state 可以在这里用于传递一些客户想要在身份验证阶段记住的自定义“状态”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM