Доступны ли какие-либо другие утверждения из Windows Live ID через поставщика удостоверений ACS 2.0?
Я понимаю, что в настоящее время поставщик удостоверений Windows Live ID по умолчанию в ACS 2.0 предоставляет только два утверждения: nameidentifier (уникальный идентификатор base64, связанный с пользователем и вашим приложением, но бесполезный для описания кого-либо), и утверждение identityprovider, которое позволяет вам знать, что ваш общаюсь с LiveID. Мне было интересно, можно ли настроить альтернативный поставщик удостоверений для Window Live ID, который мог бы предоставлять Имя и другую информацию профиля Live ID посредством дополнительных заявлений.
Спасибо, Патрик
2 ответа
Вы не можете получить ничего, кроме nameidentifier
а также identityprovider
претензии, используя Live Identity Provider от Windows. http://msdn.microsoft.com/en-us/library/gg185944.aspx
Другие поставщики, доступные для Azure ACS 2.0, подробно перечислены по этой ссылке. http://msdn.microsoft.com/en-us/library/gg185971.aspx
К вашему сведению - Google и Yahoo в качестве IP предоставляют дополнительные, но необязательные претензии emailaddress
& name
, Таким образом, вы также можете найти в качестве примера John Doe & john.doe@gmail.com.
Обратите внимание, что при использовании этих двух необязательных утверждений пользователю будет предложено показать их вашим службам при первом входе в систему. В это время пользователь может отменить операцию. Я рекомендую вам получать только те требования, которые вам действительно нужны, поскольку это может отпугнуть потенциальных пользователей.
Я исследовал это раньше и обнаружил, что прямой ответ - нет.
Однако вы можете использовать ADFS в цепочке с ACS, чтобы добавить больше заявок.
Похоже, что установка LiveId позволяет опубликовать токен, чтобы получить информацию, как
{
"id": "b6b2a7e8f2515e5",
"name": "Apurva Dalia",
"first_name": "Apurva",
"last_name": "Dalia",
"gender": null,
"link": "http://cid-b6b2a7e8f2515e5.profile.live.com/",
"locale": "en_US",
"updated_time": "2011-10-26T21:13:05+0000"
}
Если это так, то вы можете ввести эту информацию вызывающей стороне.
См. Сценарии на стороне сервера Live SDK.
С другого сайта Microsoft:
Например, следующий запрос GET без указания токена доступа вернет информацию об общедоступном профиле пользователя. https://apis.live.net/v5.0/8c8ce076ca27823f
Информация, возвращаемая Windows Live, будет выглядеть следующим образом.
"id": "8c8ce076ca27823f", "name": "Roberto Tamburello",
"first_name": "Роберто",
"last_name": "Tamburello",
"пол": ноль, "язык": "en_US"