![](/img/trans.png)
[英]Thinktecture Identity Server 3 authorization flow for WebApi-Angularjs Web App
[英]Live Id not returning UserId as Identity Provider in ACS with Thinktecture Authorization Server
我使用的是Thinktecture的授權服務器以及ACS,並且LiveID作為身份提供者。 它可以工作,但JWT看起來像(請注意nameid聲明):
{
"aud": "urn:mygym",
"iss": "https://my-gym.accesscontrol.windows.net/",
"nbf": 1378851574,
"exp": 1378852174,
"nameid": "MjApoxNfAaXXXXXXXXXXXXXdBi7lqd4sjd6j0=",
"identityprovider": "uri:WindowsLiveID"
}
這是在我的自定義JWT令牌處理程序中捕獲的,因此可以直接從ACS獲得。 “ nameid”聲明應為Live ID UserId,但不是,看起來像是base64編碼的字符串,但它只是解碼為隨機字符。 我需要獲取UserId才能獲取用戶的公共信息,如https://apis.live.net/v5.0/8c8ce076ca27823f所示 。
關於錯誤或配置錯誤的任何想法?
ACS不為經過LiveId身份驗證的用戶提供電子郵件或“全局用戶ID”。 它為您提供了對於特定用戶和ACS名稱空間唯一的標識符。 這樣就可以確保已通過身份驗證的用戶是返回用戶 _,僅此而已。
您可能想要檢查其他連接到LiveID的方法(例如,使用它們的OAuth終結點來提供更多控制權)。
注意:如果您使用的是Identity Server,則可能根本不需要ACS ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.