在使用facebook或twitter授权后,存储并检索为用户收到的令牌

Ian*_*one 3 c# oauth owin asp.net-mvc-5 asp.net-identity

嗨我目前正在尝试编写一个MVC5应用程序,该应用程序能够在使用facebook或twitter授权后存储为用户收到的令牌.

我想将它存储在数据库而不是cookie中,并将其用于任何未来的API请求和用户进行的登录尝试,这样每次他们尝试登录时都不会提示他们使用facebook或twitter进行授权.方法或尝试访问个人资料信息.

查看成员资格数据库,我可以看到有一个名为AspNetTokens的表没有被使用 - 所以有什么我错过了可以使用它的地方吗?

Hao*_*ung 10

因此,如果我正确理解您的问题,您希望将facebook访问令牌保留在您的用户数据库中,以便以后再次使用它?

因此,您可以从查看此相关问题开始:如何访问Facebook数据

获得访问令牌后,我实际上只是将其保存为您的用户的自定义用户声明:

manager.AddClaim(userId, new Claim("facebookAccessToken", fbAccessToken"));
Run Code Online (Sandbox Code Playgroud)

然后,当您想稍后使用它时,您可以从已登录用户的ClaimsIdentity中获取它(User.Identity)