我正在创建一个简单的WebApi,允许用户与Facebook连接.当我从facebook获取accessToken时,我正在调用RegisterExternal来创建Asp.Net Identity记录并存储来自令牌的声明.这些声明还包括我稍后查询facebook图表所需的访问令牌.到目前为止,一切似乎都很好.
我遇到的问题是阅读索赔.我可以看到他们在我的数据库中我只是想弄清楚如何查询这些数据.我试过了
var claimsIdentity = User.Identity as ClaimsIdentity;
Run Code Online (Sandbox Code Playgroud)
但这让我得到了2个声明a)" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name "b)角色
这两个都是发行人LOCAL AUTHORITY(说实话,我不确定它们何时被创建,因为我没有明确添加这些).因此,我认为他们要么将我对数据库的索赔再次保存在错误类型的发行人身上,要么是混乱
await userManager.AddClaimAsync(user.Id, new Claim("urn:facebook:access_token", accessTokenClaim.Value, ClaimValueTypes.String, "LOCAL AUTHORITY"));
Run Code Online (Sandbox Code Playgroud)
或者我访问索赔的代码不正确.
任何人都可以对此有所了解吗?
asp.net facebook claims-based-identity oauth-2.0 asp.net-web-api