wso2~自定義id_token
id_token
它是一個jwt token,用來存儲(chu)用戶基(ji)本信(xin)息(xi),默認(ren)走的(de)(de)是openid的(de)(de)scope,里(li)面默認(ren)有sub這(zhe)個字段,用來表示(shi)用戶的(de)(de)id。
自定義id_token和用戶信息響應
這塊需要(yao)通過配(pei)置sp的claim來實現(xian),而不是(shi)IDP的claim,這塊需要(yao)特別注意
scope配置

- nickname
- username
- lastname
- givenname

claim的配置
scope里(li)的(de)元素由claim組成
openid下面的claim列表

對某個claim里的元素進行編輯

具體服務SP認證配置
現在我們選擇(Service Providers → List →你的應用(yong)),然后添加一個claim

獲取用戶信息
curl --location '//localhost:9443/oauth2/userinfo?schema=openid' \
--header 'Authorization: Bearer 08eca470-ae4f-39dc-9d6a-7dd1ba75514b'
響應
{
"nickname": "test.zhang12",
"sub": "347c9e9e-076c-45e3-be74-c482fffcc6e5",
"email": "test@sina.com"
}
解析id_token
在獲取token之后,我們可以解析id_token,這時自定義的claim將在這里出現,如圖
