小编gte*_*dem的帖子

IdentityServer4 OpenIdConnect GetClaimsFromUserInfoEndpoint 未设置其他声明

Mvc 混合应用程序不会从 ProfileService 的 id_token 中获取除 name、given_name 和 family_name(我将它们设置在访问令牌中)之外的额外声明。

下面是在ProfileService的GetProfileDataAsync结束时发出的声明

从 GetProfileDataAsync 发出的声明

这是我在 id_token 中得到的内容:

Mvc Id_Token 声明

缺少我在 ProfileService 上设置的图片声明。

所以主要的困惑在这里:

Oidc 选项

1.这不是获取UserInfo端点并与id_token合并吗?如果是这样,这是否按预期工作?

2.如果这按预期工作并且我是否必须在 GetProfileDataAsynch 中设置声明

    if (context.Caller == "ClaimsProviderIdentityToken") //(Or AccessToken)
    {
       //Identity Token claims
    } 
Run Code Online (Sandbox Code Playgroud)

为什么我需要为配置文件范围调用 UserInfo 端点?如果我有很多范围请求,它是否会超过带有大量声明的最大令牌大小?此外,如果我必须将它们全部添加到 id_token (或访问令牌)中,那么将此属性设置为true有何意义?

3.如果我有很多声明并且当我想获取 UserInfo 声明时,我是否需要通过访问令牌调用 UserInfo 端点并自己将它们与身份令牌合并?会不会有超过最大代币大小的问题?或者这只是一个愚蠢的差事?

谢谢你的时间。

openid-connect identityserver4

5
推荐指数
1
解决办法
3483
查看次数

标签 统计

identityserver4 ×1

openid-connect ×1