添加新声明时更新记录的身份声明
Update logged Identity claims when add new claims
我有一个带有 angular 的 .net 核心 Web api 应用程序。我使用 AspNetCore 身份。我有一个带有 userId 和值列的声明 table。来自 angular 站点的 createnewuser 方法调用,他们调用注册用户方法。这里没有任何问题。
我想在 httpcontext current user claims
列表中添加新声明。
我试过了,但对我没有帮助。
但是当使用新令牌重新验证时,我可以看到在 _httpContext.HttpContext.User.Claims
中添加了新声明。如何查看将新声明添加到当前身份 (_httpContext.HttpContext.User.Claims
)?
并且我从 httpontext 获得了当前用户 ID 值。
var parentId = _httpContext.HttpContext.User.Claims?.FirstOrDefault(p => p.Type == "uid");
if (parentId != null && parentId.Value != null)
{
await _IdentityService.AddClaimAsync(new RegisterRequest()
{
"newclaim" = "new-claim-key",
userId = parentId.Value
});
我认为最好的方法是从像这样登录的数据库中获取声明:
var claimList = userManager.
GetClaimsAsync(await_userManager.GetUserAsync(_httpContext.HttpContext.User))
虽然这不是一个非常准确的方法,但却是最可靠的方法。这样就可以在db
中得到最新的claim列表
我有一个带有 angular 的 .net 核心 Web api 应用程序。我使用 AspNetCore 身份。我有一个带有 userId 和值列的声明 table。来自 angular 站点的 createnewuser 方法调用,他们调用注册用户方法。这里没有任何问题。
我想在 httpcontext current user claims
列表中添加新声明。
我试过了,但对我没有帮助。
但是当使用新令牌重新验证时,我可以看到在 _httpContext.HttpContext.User.Claims
中添加了新声明。如何查看将新声明添加到当前身份 (_httpContext.HttpContext.User.Claims
)?
并且我从 httpontext 获得了当前用户 ID 值。
var parentId = _httpContext.HttpContext.User.Claims?.FirstOrDefault(p => p.Type == "uid");
if (parentId != null && parentId.Value != null)
{
await _IdentityService.AddClaimAsync(new RegisterRequest()
{
"newclaim" = "new-claim-key",
userId = parentId.Value
});
我认为最好的方法是从像这样登录的数据库中获取声明:
var claimList = userManager.
GetClaimsAsync(await_userManager.GetUserAsync(_httpContext.HttpContext.User))
虽然这不是一个非常准确的方法,但却是最可靠的方法。这样就可以在db
中得到最新的claim列表