身份验证 – 向webapi承载令牌添加额外的详细信息
发布时间:2020-12-15 22:36:20 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试学习新的webapi2.1身份验证. 我已经将持有者令牌连接起来并使用我的webapi.我想做的下一件事是能够在令牌中存储一些额外的信息(如果可能的话),所以当客户端发回令牌时,我可以检索细节而无需发送多个值. 可以将令牌扩展为包含自定义数据吗? 对不起
我正在尝试学习新的webapi2.1身份验证.
我已经将持有者令牌连接起来并使用我的webapi.我想做的下一件事是能够在令牌中存储一些额外的信息(如果可能的话),所以当客户端发回令牌时,我可以检索细节而无需发送多个值. 可以将令牌扩展为包含自定义数据吗? 对不起,如果问题有点模糊,但我有一个大的搜索,似乎无法找到任何进一步的信息 谢谢 解决方法
由于令牌是用“秘密”密钥签名的 – 只有发行者可以向其添加数据.
在Web API中收到令牌后,您可以将某些内容修改为声明集 – 这称为声明转换. 我在这里有一个样本: 本质上,您正在编写一些代码来检查传入的令牌,并将特定于应用程序的声明添加到结果主体中. // Transform claims to application identity app.UseClaimsTransformation(TransformClaims); private Task<ClaimsPrincipal> TransformClaims(ClaimsPrincipal incoming) { if (!incoming.Identity.IsAuthenticated) { return Task.FromResult<ClaimsPrincipal>(incoming); } // Parse incoming claims - create new principal with app claims var claims = new List<Claim> { new Claim(ClaimTypes.Role,"foo"),new Claim(ClaimTypes.Role,"bar") }; var nameId = incoming.FindFirst(ClaimTypes.NameIdentifier); if (nameId != null) { claims.Add(nameId); } var thumbprint = incoming.FindFirst(ClaimTypes.Thumbprint); if (thumbprint != null) { claims.Add(thumbprint); } var id = new ClaimsIdentity("Application"); id.AddClaims(claims); return Task.FromResult<ClaimsPrincipal>(new ClaimsPrincipal(id)); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何将Sitecore Droptree源设置为项目本身
- ASP.Net核心 – 获取帖子表格的所有数据
- asp.net – 使用Python Mechanize进行屏幕分析aspx – Java
- asp.net – 如何使用Response.OutputStream.Write将文件发送
- asp.net – 模拟CSRF攻击
- 如何在ASP.NET生成的Word文件中嵌入图像
- asp.net-mvc-4 – ASP.NET MVC电子商务解决方案(商业或开放
- asp.net-mvc – MVC会话过期而不是身份验证
- asp.net – 为什么当使用ADO.NET实体数据模型映射数据库表时
- 使用Bitbucket Pipeline进行.Net Core项目的自动构建、测试
推荐文章
站长推荐
- Asp.Net Core 1.0和.Net Core 1.0之间的区别?
- asp.net-mvc-3 – ASP.net MVC路由与可选的第一个
- asp.net-mvc – ASP.NET MVC Windows Azure组织身
- 如何从Asp.Net核心身份验证中获取策略列表?
- 如何创建ASP.NET RecaptchaControl自定义模板
- asp.net-mvc – 搜索页面MVC路由(隐藏动作,没有斜
- asp.net-mvc-5 – 更改消息“密码必须至少包含一
- asp.net-mvc – 设计选择:WCF还是服务堆栈?
- asp.net-mvc-4 – ASP.NET MVC ViewModel继承问题
- asp.net-mvc – 模拟任务>与NSubstitute
热点阅读