gpt4 book ai didi

oauth-2.0 - IdentityServer4中nonce和state参数是如何存储和传输的?

转载 作者:行者123 更新时间:2023-12-02 14:55:22 24 4
gpt4 key购买 nike

我已阅读 Here关于 statenonce 参数之间的区别以及据我了解 state 参数是由 Authentication 服务器生成的(身份服务器)并被客户端用于防止 CSRF 攻击,而 nonce 参数由客户端生成,然后身份验证服务器将其包含在 token 中,客户端将使用它来检查 token 有效性。

我的第一个问题是:在使用隐式授权类型时,对于 identityServer4,上述流程是否正确?

我的第二个问题:nonce 参数在用户的代理(浏览器)上存储在哪里,客户端如何生成和传输它?

我的第三个问题:客户端如何交叉检查 state 参数是否有效?

最佳答案

不是,statenonce 都是由客户端生成的。同样,它们由客户验证。

state 防止 CSRF 攻击。授权服务器将包含状态,以便可以验证来自客户端的原始请求的授权响应。同样,nonce 由客户端生成。授权服务器只需将其包含在 token 中以进行验证。

在使用隐式授权类型时,对于 identityServer4,上述流程是否正确?

identityServer4 必须支持在适当的响应中包含状态和随机数。我相信是的。

nonce参数存储在用户代理(浏览器)的什么位置,客户端如何生成和传输它?

这将取决于客户端的实现。 OIDC 协议(protocol)提供了一个 guide on nonce implementation

One method to achieve this for Web Server Clients is to store a cryptographically random value as an HttpOnly session cookie and use a cryptographic hash of the value as the nonce parameter

客户端如何交叉检查状态参数是否有效?

当客户端收到授权响应时,它必须验证响应 URL 的查询参数(或片段)中状态参数的优先级。然后它必须将该值与它生成的原始值进行比较。

关于oauth-2.0 - IdentityServer4中nonce和state参数是如何存储和传输的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53246830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com