我已经创建了一个应用程序与用户的asp.net mvc api,跟随this tutorial。一切都很好。本地用户和Facebook登录工作正常。asp.net mvc API获取Facebook令牌
但现在我试图使用FacebookClient并获取用户信息和朋友。 但它询问我的令牌,但不是存储在我的会话或cookie上的相同标记。
在API控制器帐户,在GetExternalLogin行动我有这样的代码:
if (hasRegistered)
{
Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(UserManager,
OAuthDefaults.AuthenticationType);
ClaimsIdentity cookieIdentity = await user.GenerateUserIdentityAsync(UserManager,
CookieAuthenticationDefaults.AuthenticationType);
AuthenticationProperties properties = ApplicationOAuthProvider.CreateProperties(user.UserName);
Authentication.SignIn(properties, oAuthIdentity, cookieIdentity);
}
else
{
IEnumerable<Claim> claims = externalLogin.GetClaims();
ClaimsIdentity identity = new ClaimsIdentity(claims, OAuthDefaults.AuthenticationType);
Authentication.SignIn(identity);
}
在这里我能找到的索赔。但不是如何使用这个
我的问题是如何在登录后在我的api上存储Facebook令牌?
由于很长一段时间你发布这些问题,你有没有找到如何将用户/登录/索赔保存在数据库。如果用户已经注册,该如何处理。 –