gpt4 book ai didi

asp.net - 对地方当局 claim 和外部供应商 claim 的混淆

转载 作者:行者123 更新时间:2023-11-30 05:26:00 25 4
gpt4 key购买 nike

我正在创建一个简单的 WebApi,它允许用户连接到 Facebook。当我从 facebook 取回 accessToken 时,我调用 RegisterExternal 来创建一个 Asp.Net Identity 记录并存储 token 中的声明。这些声明还包括我稍后查询 facebook 图所需的访问 token 。到目前为止一切似乎都很好。

我遇到的问题是阅读声明。我可以看到它们在我的数据库中我只是不知道如何查询这些数据。我试过了

var claimsIdentity = User.Identity as ClaimsIdentity;

但这会返回我的 2 个 claim 一)“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name”b) 作用

这两个都是发行人本地权限(老实说,我不确定它们是何时创建的,因为我没有明确添加这些)。所以我相信他们要么混淆我将声明保存到数据库,要么是错误类型的发行人

await userManager.AddClaimAsync(user.Id, new Claim("urn:facebook:access_token", accessTokenClaim.Value, ClaimValueTypes.String, "LOCAL AUTHORITY"));

或者我用于访问声明的代码不正确。

任何人都可以阐明这一点吗?

最佳答案

LOCAL_AUTHORITY 是 Issuer 的默认值,如果它在创建 Claim 时没有指定的话。例如:var claim = new Claim("LastName", "Timberlake","string", "http:/contoso.com/someissuername");上例中的最后一个参数是发行者。

关于asp.net - 对地方当局 claim 和外部供应商 claim 的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28748000/

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