我正在使用 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。
关于什么可能是错误或配置错误的任何想法?