首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OIDC - at_hash验证

OIDC - at_hash验证
EN

Stack Overflow用户
提问于 2020-06-03 07:27:05
回答 1查看 547关注 0票数 1

我试图从开放的id规范中得到一些关于at_hash定义的澄清。

访问令牌哈希值。它的值是base64url值的ASCII表示的八进制哈希值的左半部分的哈希编码,其中使用的哈希算法是ID令牌的JOSE报头的alg参数头中使用的哈希算法。例如,如果alg是RS256,则使用SHA-256散列access_token值,然后取最左边的128位,base64url对它们进行编码。at_hash值是区分大小写的字符串。

ASCII表示的的八进制哈希

这是我困惑的地方。

这是否意味着我们应该散列整个访问令牌?

我们是否应该对访问令牌进行解码,并像JTI那样散列一个字段?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-03 09:36:31

我想伪码应该是:

getBase64UrlString(getLeftHalfOfArray(getSha256Bytes(getAsciiBytes(accessTokenJwtString))))

这里的示例C#实现:

https://github.com/IdentityServer/IdentityServer4/blob/3.1.3/src/IdentityServer4/src/Configuration/CryptoHelper.cs

CreateHashClaimValue()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62167408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档