IdenityServer4对IdentityResource、usercalims的疑惑
IdenityServer4 doubts on IdentityResource, usercalims
我对身份资源用户声明有疑问
我配置如下
情景一
身份资源(“家庭”)--> 用户声明为 [“kid1”、“kid2”、“wife”]
Q1:根据文档“身份令牌中应包含的关联用户声明类型列表”。但是我在身份令牌中看不到这个?
场景 2
IS 配置
身份资源(“家庭”)--> 用户声明 [“kid1”、“kid2”、“wife”]
API 范围 (api1) --> 用户声明 ["role"]
API 范围 (api2) --> 用户声明 ["country", "address"]
API 资源 (TestAPI2Test) --> API 范围 ["api1", "api2"] 和用户声明 ["role", "wife"]
API 资源 (TestAPI1) --> API 范围 ["api1", "api2"] 和用户声明 ["role", "siblings", "wife"]
API 资源 (testResource) --> API 范围 ["api2"] 和用户声明 ["role", "siblings", "kid1", "name" ]
Angular 客户端配置
请求的范围:[openid profile api1 offline_access family]
access_token
"aud": [
"TestAPI1",
"TestAPI2Test",
"https://localhost:5001/resources"
],
"idp": "local",
"role": "admin",
"wife": "Sandra",
"sid": "BD5F4222976FFE2752168EFDE9391B2B",
"iat": 1621413193,
"scope": [
"openid",
"profile",
"api1",
"family",
"offline_access"
],
Q2:为什么我看不到身份资源用户声明“kid1”、“kid2”与access_token?
Q3:我可以看到只有 API 资源用户声明仅包含在 access_token 中,身份令牌用户声明在请求用户端点时被重新调整?
你能advise/clarify Q1、Q2 和 Q3 吗?
您可以在 IdentityServer 的客户端配置中配置声明是否应包含在 ID-Token 中,或者是否应从 /UserInfo 端点单独检索。
您使用此标志进行设置:
AlwaysIncludeUserClaimsInIdToken = true/false;
只有添加到 ApiScope 和 ApiResources 的 userClaims 才会包含在访问令牌中。
在 IdentityResource 下添加的 Claims/scopes 控制最终在 ID-token/UserInfo 端点中的内容。
我对身份资源用户声明有疑问
我配置如下 情景一
身份资源(“家庭”)--> 用户声明为 [“kid1”、“kid2”、“wife”]
Q1:根据文档“身份令牌中应包含的关联用户声明类型列表”。但是我在身份令牌中看不到这个?
场景 2
IS 配置
身份资源(“家庭”)--> 用户声明 [“kid1”、“kid2”、“wife”]
API 范围 (api1) --> 用户声明 ["role"] API 范围 (api2) --> 用户声明 ["country", "address"]
API 资源 (TestAPI2Test) --> API 范围 ["api1", "api2"] 和用户声明 ["role", "wife"] API 资源 (TestAPI1) --> API 范围 ["api1", "api2"] 和用户声明 ["role", "siblings", "wife"] API 资源 (testResource) --> API 范围 ["api2"] 和用户声明 ["role", "siblings", "kid1", "name" ]
Angular 客户端配置 请求的范围:[openid profile api1 offline_access family]
access_token
"aud": [
"TestAPI1",
"TestAPI2Test",
"https://localhost:5001/resources"
],
"idp": "local",
"role": "admin",
"wife": "Sandra",
"sid": "BD5F4222976FFE2752168EFDE9391B2B",
"iat": 1621413193,
"scope": [
"openid",
"profile",
"api1",
"family",
"offline_access"
],
Q2:为什么我看不到身份资源用户声明“kid1”、“kid2”与access_token? Q3:我可以看到只有 API 资源用户声明仅包含在 access_token 中,身份令牌用户声明在请求用户端点时被重新调整?
你能advise/clarify Q1、Q2 和 Q3 吗?
您可以在 IdentityServer 的客户端配置中配置声明是否应包含在 ID-Token 中,或者是否应从 /UserInfo 端点单独检索。
您使用此标志进行设置: AlwaysIncludeUserClaimsInIdToken = true/false;
只有添加到 ApiScope 和 ApiResources 的 userClaims 才会包含在访问令牌中。
在 IdentityResource 下添加的Claims/scopes 控制最终在 ID-token/UserInfo 端点中的内容。