C# ASP MVC 5 Web Api 2通过电子邮件传递

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

我按照教程让我的实时帐户oauth在我的asp mvc 5和web api 2应用程序上运行

一切都进行得很顺利,再加上一个额外的范围,我可以获取用户的电子邮件。但是我如何将它传递回网页呢

一些代码:

在Startup.Auth.cs中

        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;