Я использую сервер авторизации Thinktecture с подключенным ACS и LiveID в качестве поставщика удостоверений. Он работает, но JWT выглядит (обратите внимание на требование NameID):Live Id не возвращает UserId как поставщик удостоверений в ACS с сервером авторизации Thinktecture
{
"aud": "urn:mygym",
"iss": "https://my-gym.accesscontrol.windows.net/",
"nbf": 1378851574,
"exp": 1378852174,
"nameid": "MjApoxNfAaXXXXXXXXXXXXXdBi7lqd4sjd6j0=",
"identityprovider": "uri:WindowsLiveID"
}
Это пойман в моем пользовательской JWT маркеров обработчика, так что это gottent непосредственно от ACS. Требование «nameid» должно быть идентификатором Live ID UserId, но это не так, выглядит как закодированная в base64 строка, но он просто декодирует случайные символы. Мне нужно получить UserId, чтобы получить общедоступную информацию пользователя, как в https://apis.live.net/v5.0/8c8ce076ca27823f.
Любые идеи о том, что может быть неправильным или неконфигурированным?
К сожалению, этот тег была ошибка, я только с помощью ACS. Таким образом, нет никакой возможности получить дополнительную информацию о пользователе из ACS? Угадайте, что мне нужно будет получить IdentityServer (чтобы использовать несколько поставщиков удостоверений). Благодаря! – danielrozo
Да, вы можете использовать Identity Server, если хотите полностью «владеть» стеком как проект с открытым исходным кодом. Существуют также службы (например, такие, как я работаю: developers.auth0.com), которые вы можете полностью передать на аутсорсинг. Вам решать. –