如何在 AspNet.Identity 版本 3 / ASP.Net MVC6 / VNext 中检索 FacebookAccessToken?
How do I retrieve the FacebookAccessToken in the AspNet.Identity version 3 / ASP.Net MVC6 / VNext?
以前,我可以调用 info.ExternalIdentity.FindAll("FacebookAccessToken").
在 AspNet.Identity 版本 3 中,我无法使用 SignInManager 找到存储在任何地方的访问令牌。我也不能再使用 ExternalIdentity 中的 FindAll。
我还能在我的 ASP.Net MVC6 项目中检索 Facebook 访问令牌吗?
您可以通过将访问令牌包含在声明集合中来访问它。
您必须通过 FacebookAuthenticationNotifications OnAuthenticated 事件进入 Facebook 响应到 ClaimsIdentity 对象的映射。在 Startup.cs 文件中:
services.Configure<FacebookAuthenticationOptions>(options =>
{
options.AppId = Configuration["Authentication:Facebook:AppId"];
options.AppSecret = Configuration["Authentication:Facebook:AppSecret"];
options.Scope.Add("user_birthday");
options.Notifications = new FacebookAuthenticationNotifications
{
OnAuthenticated = async context => {
var accessToken = context.AccessToken;
var identity = (System.Security.Claims.ClaimsIdentity)context.Principal.Identity;
identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken));
}
};
});
然后您将能够在 ExternalIdentity 中找到访问令牌。
以前,我可以调用 info.ExternalIdentity.FindAll("FacebookAccessToken").
在 AspNet.Identity 版本 3 中,我无法使用 SignInManager 找到存储在任何地方的访问令牌。我也不能再使用 ExternalIdentity 中的 FindAll。
我还能在我的 ASP.Net MVC6 项目中检索 Facebook 访问令牌吗?
您可以通过将访问令牌包含在声明集合中来访问它。
您必须通过 FacebookAuthenticationNotifications OnAuthenticated 事件进入 Facebook 响应到 ClaimsIdentity 对象的映射。在 Startup.cs 文件中:
services.Configure<FacebookAuthenticationOptions>(options =>
{
options.AppId = Configuration["Authentication:Facebook:AppId"];
options.AppSecret = Configuration["Authentication:Facebook:AppSecret"];
options.Scope.Add("user_birthday");
options.Notifications = new FacebookAuthenticationNotifications
{
OnAuthenticated = async context => {
var accessToken = context.AccessToken;
var identity = (System.Security.Claims.ClaimsIdentity)context.Principal.Identity;
identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken));
}
};
});
然后您将能够在 ExternalIdentity 中找到访问令牌。