Приложение Windows Azure принимает федеративную аутентификацию, при которой пользователь может войти в систему, используя любой из gmail, facebook и live id. Как только пользователь вошел в систему, как можно извлечь информацию, такую как получение имени пользователя и идентификатора электронной почты. ?
как получить информацию, такую как идентификатор электронной почты текущего пользователя, вошедшего в систему, с помощью федеративной аутентификации в приложении Win Azure
Ответы (1)
Адрес электронной почты представлен как утверждение от поставщика удостоверений.
Если вы используете MVC (например), простой способ прочитать адрес электронной почты — добавить некоторые свойства в ваш контроллер, например:
public ClaimsPrincipal ClaimsPrincipal
{
get
{
return this.User as ClaimsPrincipal;
}
}
public ClaimsIdentity ClaimsIdentity
{
get
{
return this.ClaimsPrincipal.Identity as ClaimsIdentity;
}
}
public string UserEmailAddress
{
get
{
foreach (var claim in this.ClaimsIdentity.Claims)
{
if (claim.ClaimType == @"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress")
{
return claim.Value;
}
}
return null;
}
}
Однако Live ID не предоставит вам адрес электронной почты или имя пользователя.
person
Richard Astbury
schedule
01.12.2011
Live Id дает мне имя пользователя, но не идентификатор электронной почты. Я хочу, чтобы он взаимодействовал с вошедшим в систему пользователем, то есть отправлял письма и уведомления. Я думаю, что многие веб-сайты / приложения имеют вход в систему с живым идентификатором, и они отправляют уведомления по электронной почте с тем же идентификатором, с которого пользователь вошел в систему ... так как они это делают ...
- person mohit nagpal; 06.12.2011
Вероятно, они запрашивают у пользователя адрес электронной почты.
- person Richard Astbury; 07.12.2011
Хм. Это бывает когда-нибудь. но тогда нет смысла поддерживать вход в систему в реальном времени, если у пользователя снова запрашивается электронная почта после входа в систему.
- person mohit nagpal; 07.12.2011
Я предлагаю вам использовать Yahoo! а потом Гугл.
- person Richard Astbury; 08.12.2011