gpt4 book ai didi

facebook - 如何在 AspNet.Identity 版本 3/ASP.Net MVC 6/VNext 中检索 Facebook 访问 token ?

转载 作者:行者123 更新时间:2023-12-02 22:06:40 24 4
gpt4 key购买 nike

以前,我可以调用 info.ExternalIdentity.FindAll("FacebookAccessToken")。

在 AspNet.Identity 版本 3 中,我无法使用 SignInManager 找到存储在任何位置的访问 token 。我也无法再使用ExternalIdentity 中的FindAll。

我仍然可以在 ASP.Net MVC6 项目中检索 Facebook 访问 token 吗?

最佳答案

您可以通过将访问 token 包含在声明集合中来访问它。

您必须通过 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中找到访问 token 。

关于facebook - 如何在 AspNet.Identity 版本 3/ASP.Net MVC 6/VNext 中检索 Facebook 访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com