如何在AspNet.Identity版本3 / ASP.Net MVC6 / VNext中检索FacebookAccessToken?

乔纳斯大天使

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

在AspNet.Identity版本3中,我找不到使用SignInManager存储在任何地方的访问令牌。我也无法再使用ExternalIdentity的FindAll。

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

莱贝克

您可以通过将访问令牌包含在Claims集合中来访问它。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Asp.Net核心MVC6如何在Identity 3中初始添加角色

我如何在dotnet core(以前称为asp.net mvc6)中读取项目的版本

如何在ASP.NET 5 MVC6中的布局文件中获取会话值

如何在ASP.net 5.0(MVC6)中执行对REST API的请求

如何基于ASP.NET VNEXT MVC6中给出的路径进行虚拟路由/重定向?

在ASP.NET 5(MVC6)中请求BinaryRead

如何在IIS上运行ASP.NET MVC6而不发布应用程序

具有MVC 5的ASP.NET Identity版本3?

配置核心以允许使用ASP.NET Core(Asp.net 5,MVC6,VNext)的所有子域

ASP.NET 5(MVC6)如何为用户播种

在asp.net MVC6中获取Angular Ajax数据

@helper指令在ASP.NET5 MVC6 beta4中不再可用。

在ASP.NET 5 MVC6中使用什么代替WebViewPage.RenderPage方法

ASP.NET 5和MVC6中的project.json

在ASP.NET MVC6中访问查询字符串

ASP.NET5 MVC6中的HTTP错误403.14

Razor ASP.NET MVC6 中预期出现语法错误“,”

在ASP.NET MVC6中使用TagHelpers与ViewComponents

ASP.NET 5 MVC6中的@ Ajax.ActionLink

ObjectResult包含ASP.NET MVC6 Web Api中的对象列表

如何在Asp.net Identity 3.0和MVC 6中打开角色?

如何在ASP.NET 5 MVC 6(vNext)中定义身份的密码规则?

如何在MVC6或AspNet Core或IdentityCore中更改PasswordValidator

如何在ASP.NET MVC6 beta5项目中添加控制器?

ASP.NET MVC6:以编程方式设置webroot

如何在ASP NET MVC 6中更新模型?

ASP.NET MVC AspNet.Identity-如何将登录的用户ID保存到创建的记录中?

Web.config进入了Asp.net 5 mvc6,非Web配置又如何呢?

如何为ASP.Net 5(MVC6)内联网应用程序使用活动目录