Azure Ad Oauth代币中发现的共同主张包括:
* aud(受众):这标识了令牌的预期收件人,对于Azure AD B2C而言,它是应用程序ID。应用程序应验证此值,以确保其与其ID匹配并拒绝令牌[3]。观众是资源[3]的代名词。
* ISS(发行人):此索赔标识构造和返回令牌的安全令牌服务(STS),并标识了用户被认证的目录。申请应验证该主张,以确保令牌来自适当的端点[3]。
* IAT(发行):这表示在时期发出令牌的时间[3]。
* EXP(到期时间):这表明令牌变为无效的时间,以时代为代表。申请应使用此主张来验证令牌寿命的有效性[3]。
* nbf(不是之前):此主张指定令牌在时期内有效的时间。通常与发行令牌发行的时间相同,您的申请应使用此主张来验证令牌寿命的有效性[3]。
* VER(版本):这指示了Azure AD B2C [3]定义的ID令牌的版本。
* C_HASH(代码哈希):仅在将令牌与OAUTH 2.0授权代码一起发出时,仅在ID令牌中包含。它可用于验证授权代码的真实性[3]。
* AT_HASH(访问令牌哈希):仅在将令牌与OAuth 2.0访问令牌一起发出时,才包含在ID令牌中,并用于验证访问令牌的真实性[3]。
* NONCE:一种用于减轻令牌重播攻击的策略。您的应用程序可以使用`nonce Query参数在授权请求中指定NONCE。您在请求中提供的价值仅在ID代币的“ nonce”声明中未修改[3]。
* sub(主题):此索赔代表代币所主张的信息,例如应用程序的用户。该价值是不变的,不能重新分配或重复使用。它可用于安全执行授权检查。默认情况下,主题声明在目录[3]中用用户的对象ID填充。
* ACR(身份验证上下文类参考):仅与较旧的策略一起使用[3]。
* TFP(信任框架策略):用于获取ID令牌的策略的名称[3]。
* auth \ _time:用户上次输入凭据的时间,以时代为代表。该身份验证是新的登录,单个登录(SSO)会话或其他登录类型[3]之间没有歧视。
* SCP(范围):这是指授予访问令牌的权限。多个授予的权限通过空间分开[3]。
* AZP(授权方):启动请求[3]的客户端应用程序的应用ID。
* OID:此主张包含Azure AD中对象的唯一标识符,是不可变的,不能重新分配或重复使用。它可用于识别Azure AD [1]的查询中的对象。
引用:
[1] https://stackoverflow.com/questions/40972416/what-jwt-clairs-from-azure-ad-tokens-tokens-can-be-be-safely-safely-safely-safely-for-user-user-user-user-Mappings
[2] https://stackoverflow.com/questions/70867353/azure-access-token-contains-info-that--------------------------------------------------------------------
[3] https://github.com/microsoftdocs/azure-docs/blob/main/main/articles/active-directory-b2c/tokens-overview.md
[4] https://www.descope.com/blog/post/noauth
[5] https://learn.microsoft.com/en-us/entra/indentity-indistity-platform/access-token-claig--reference
[6] https://auth0.com/blog/refresh-tokens-what-what-are-they-and-when-when to-use-them/
[7] https://learn.microsoft.com/en-us/entra/indentity-indentity-platform/id-token-clairs-reference
[8] https://www.descope.com/blog/post/access-token-vs-ves-refresh-token