gpt4 book ai didi

c# - 请求 API 资源以外的范围时,ProfileDataRequestContext.RequestedClaimTypes 始终为 null?

转载 作者:行者123 更新时间:2023-12-04 10:39:25 26 4
gpt4 key购买 nike

为什么是 ProfileDataRequestContext.RequestedClaimTypes null,当请求的键值对 scopes没有 API 资源(但其他内容,如身份资源 - openid、个人资料、电话等)

为什么它们不被算作“已请求”?那么如何知道将要生成的 JWT 中包含哪些声明呢?

显然,如果我请求 API 资源和我的所有声明都列在 UserClaims 的属性(property)下,一切都按预期工作。 (此处列出的声明已添加到 requestedClaimTypes 集合中。)

谢谢!

最佳答案

ProfileService 在 token 创建时被调用,但具有不同的上下文:

  • Context.Caller = ClaimsProviderAccessToken
  • Context.Caller = UserInfoEndpoint

  • 所以这取决于生成的 token 的类型。

    对于访问 token ,仅允许使用资源范围 (ApiResources),而对于返回的身份 token ,仅允许使用身份范围 (IdentityResources)。

    尽管默认情况下 id_token 将只包含 sub宣称。可以在 UserInfo 端点请求附加信息。

    关于c# - 请求 API 资源以外的范围时,ProfileDataRequestContext.RequestedClaimTypes 始终为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60003197/

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