C# ASP MVC 5 Web Api 2通过电子邮件传递
我按照教程让我的实时帐户oauth在我的asp mvc 5和web api 2应用程序上运行 一切都进行得很顺利,再加上一个额外的范围,我可以获取用户的电子邮件。但是我如何将它传递回网页呢 一些代码: 在Startup.Auth.cs中C# ASP MVC 5 Web Api 2通过电子邮件传递,c#,oauth,asp.net-mvc-5,asp.net-web-api2,microsoft-account,C#,Oauth,Asp.net Mvc 5,Asp.net Web Api2,Microsoft Account,我按照教程让我的实时帐户oauth在我的asp mvc 5和web api 2应用程序上运行 一切都进行得很顺利,再加上一个额外的范围,我可以获取用户的电子邮件。但是我如何将它传递回网页呢 一些代码: 在Startup.Auth.cs中 Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationOptions microsoftAccountOptions = new Microsoft.Owin
Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationOptions microsoftAccountOptions = new Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationOptions(){
ClientId = microsoftClientId,
ClientSecret = microsoftClientSecret
};
microsoftAccountOptions.Scope.Add("wl.basic");
microsoftAccountOptions.Scope.Add("wl.emails");
microsoftAccountOptions.Provider = new Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationProvider()
{
OnAuthenticated = async context =>
{
context.Identity.AddClaim(new System.Security.Claims.Claim("urn:microsoftaccount:access_token", context.AccessToken));
context.Identity.AddClaim(new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.Email, context.User["emails"].Value<string>("account")));
}
};
app.UseMicrosoftAccountAuthentication(microsoftAccountOptions);
如何传递电子邮件声明?应该可以在HttpContext上访问声明声明:
var claims = (ClaimsPrincipal)HttpContext.Current.User;
var claims = (ClaimsPrincipal)HttpContext.Current.User;