一次copilot问题处理

一次copilot问题处理

    正在检查是否收录...

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言 一、问题描述 二、解决步骤 1.询问关键词 2.询问问题 3.询问解决方案 总结

前言

记录一次使用copilot解决问题的流程,以及总结

提示:以下是本篇文章正文内容,下面案例可供参考

一、问题描述

最近在做IdentityServer4的项目,目的是搭建一个身份认证平台,提供给公司内部的项目进行登录验证,以及用户claim信息的存储。
初步按照IdentityServer4官方文档搭建demo项目后,成功生成了token,token通过jwt.io的解析如下:
可以看到该用户的claim域里面有一组键值对,email:“AliceSmith@email.com”, 标识了登录用户的邮箱。
但是当用该token去访问需要授权的api接口时,解析出的token信息则如下:
key改变了,由“email”变成了“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress”,导致无法正常通过claim获取用户邮箱

二、解决步骤

这个问题就算百度也不好百度,所以这次使用copilot来进行处理

1.询问关键词

首先这个问题的关键在于“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress”,为了搞清楚这是个什么,首先如此提问copilot:

由于对所需处理的问题没有相关知识储备,所以直接将关键词输入,获取一个整体的信息,根据回答可知:“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress”是一个claim类型,他存储用户的电子邮件地址,从这里可以看出,email 跟 “http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress”之间可能存在一定联系,遂接着往下问。

2.询问问题

了解获取了整体信息后,即可把当前遇到的问题直接抛出进行询问,如下:

可以看到,此处我提出的问题是一种近乎随意的表达,但copilot很好的理解了我的意思,但如果使用传统的搜索引擎,你需要花费跟多的时间在搜索方式上,如何措辞表达,如何确定关键字,甚至还有搜索字数的限制,因为传统搜索引擎并不那么智能。通过回答我们可以知道,“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress”其实是 .NET 中System.Security.Claims.ClaimTypes 类定义的一个claim类型,而”email“则是我们自己定义的claim类型,有可能系统对此进行了一些处理,将我们定义的email映射成了“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress”,知道这一点后,我们可以进行最后的提问了。

3.询问解决方案

了解了问题所在之后,我们可以向copilot询问解决方案,如下图所示是我询问的方式:

copilot告诉我,这是因为JwtSecurityTokenHandler 类的 InboundClaimTypeMap 属性对字段进行了自动映射,这也证实了我之前的猜想,随即copilot给出了解决方案,在配置jwtbearer的时候,添加如下代码来改变映射:

 options.SecurityTokenValidators.Clear(); options.SecurityTokenValidators.Add(new JwtSecurityTokenHandler { InboundClaimTypeMap = new Dictionary<string, string>() }); 

对应到我自己的项目里面则是这样:

更改过后,我再次访问需要授权的api接口时,解析出来的token信息就正常了,如下:

至此,问题完美解决。

总结

此次问题的解决,仰赖于copilot的强大性能,得益于ai的语言处理能力,以及对上下文的关联能力,ai将会更适合用于处理程序员的问题,是一个比传统搜索引擎更好用的问题解决工具。基于此次实践,我在此总结出如何向ai进行提问的一套思维流程。
1.关键词理解:
直接输入关键词,先行获得一个你面临问题的总体理解,了解清楚概念。这将有助于你对这个问题进行深入思考,进而提问。
2.提出问题
对于ai来说,你的措辞问题都不是问题,所以在有了第一步的概念理解后,你可以随意的提问,不用考虑格式以及关键字上的要求,减少你码字的时间。
3.获取解决方案
最后一步就是请求ai给出解决问题的方案,由于ai具有联系上下文的能力,所以能根据我们之前的聊天谈话内容给出更为合适的建议,这将大大提高问题成功解决的概率。

最后再说一句 : 咱们copilot真是太好用啦!!

emailcopilottokenideschema解决方案关键词搜索引擎api接口api上下文关键字解决问题语言处理问题解决自动生成身份认证帮助文档stem程序员
  • 本文作者:李琛
  • 本文链接: https://wapzz.net/post-16064.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.3W+
5
0
1
WAP站长官方

使用llama-index连接neo4j知识图谱 达成大模型构建查询知识图谱功能

上一篇

开源模型应用落地-语音转文本-whisper模型-AIGC应用探索(一)

下一篇
  • 复制图片
按住ctrl可打开默认菜单