Kne*_*lis 10 c# asp.net asp.net-identity
我正在使用VS2013中新的MVC 5模板附带的ASP.NET Identity.我已配置外部登录提供商,以便人们可以使用Google,Facebook或Microsoft注册.但是,我仍然希望获得人们的电子邮件地址(例如,通知,更新等).
默认情况下,它app.UseGoogleAuthentication()还会请求用户的电子邮件地址.对于Facebook,我创建了一个新的FacebookAuthenticationOptions类实例,并添加了以下范围:facebook.Scope.Add("email").这也有效.
我在使用Microsoft帐户的人收到电子邮件时遇到问题.它MicrosoftAccountAuthenticationOptions也有一个Scope属性,但添加email似乎不起作用.在文档中,我看到有一个范围,wl.emails但它返回一组电子邮件地址,我不确定这是否email与Facebook 等效.
有人建议如何在验证时将电子邮件地址作为索赔吗?
Chr*_*tin 17
配置Microsoft的范围.
var mo = new MicrosoftAccountAuthenticationOptions
{
Caption = "Live",
ClientId = clientId,
ClientSecret = clientSecret,
};
mo.Scope.Add("wl.basic");
mo.Scope.Add("wl.emails");
app.UseMicrosoftAccountAuthentication(mo);
Run Code Online (Sandbox Code Playgroud)抓住电子邮件声明
var identity = await AuthenticationManager.AuthenticateAsync(DefaultAuthenticationTypes.ExternalCookie);
var emailClaim = identity.Identity.FindFirst(ClaimTypes.Email);
Run Code Online (Sandbox Code Playgroud)希望这对你有所帮助.
| 归档时间: |
|
| 查看次数: |
3806 次 |
| 最近记录: |