Доступны ли какие-либо другие утверждения из 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"

Другие вопросы по тегам