[发明专利]一种在web应用中进行身份认证的方法在审
申请号: | 202111631354.2 | 申请日: | 2021-12-28 |
公开(公告)号: | CN114297594A | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 刘强 | 申请(专利权)人: | 四川启睿克科技有限公司 |
主分类号: | G06F21/31 | 分类号: | G06F21/31;G06F21/60;G06F21/64 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 刘兴亮 |
地址: | 610000 四川省成都市中国(四川)*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 web 应用 进行 身份 认证 方法 | ||
1.一种在web应用中进行身份认证的方法,其特征在于,包括以下步骤:
步骤一:生成请求行参数:
步骤二:引入app_secret:
使用Store将app_secret存储在本地;
在该文件中引入Store,并使用Store的getStr函数将app_secret引入;
步骤三:引入CryptoJS:
使用npm包管理器安装第三方库:crypto-js/crypto-js;
然后使用import引入到该文件中;
步骤四:加密:
给CryptoJS的HmacSHA256函数传递两个参数,分别是步骤一种第f步得到的apiRequestLineString和步骤二中引入的app_secret,然后赋值给signInitalValue;
步骤五:编码:
使用CryptoJS.enc.Base64.stringify函数对步骤四得到的signInitalValue进行base64编码,并赋值给base64String;
步骤六:进行urlcode编码:
使用js内置的encodeURIComponent函数对步骤五得到的base64String进行urlcode编码,并赋值给signature。
2.如权利要求1所述的一种在web应用中进行身份认证的方法,其特征在于,所述步骤1具体方法如下:
a、使用js时间对象new Date()获取浏览器当前时间,并使用toUTCString进行格式转换,生成当前时间字符串currentDateString;
b、获取当前路径;通过拦截器中config参数中的url进行处理得到currentPath;
c、根据config中的method参数值,判断当前方法属于什么请求;如果是get请求或者delete请求,将其转换成大写赋值给变量apiRequestMethod;
d、定义一个请求行变量:apiRequestLine;如果请求方法中带有参数,则先将参数进行处理,并使用符号进行连接,赋值给paramsArrays;
e、将第b步中的currentPath和paramsArrays使用?号进行连接,然后赋值给第3步中定义的apiRequestLine。如果没有参数值,则apiRequestLine就直接等于currentPath;
f、将第a步中的currentDateString加上\n,然后加上步骤c中的apiRequestMethod,在加上第e步的apiRequestLine和http,共同拼接成一个字符串,然后赋值给变量apiRequestLineString。
3.如权利要求1所述的一种在web应用中进行身份认证的方法,其特征在于,还包括以下步骤:使用JSON.stringify函数对config中的data进行字符串转换;
对加密结果进行字符串转换。
4.如权利要求1所述的一种在web应用中进行身份认证的方法,其特征在于,还包括以下步骤:将步骤六中计算得出的signature,拼接到
`hmacaccesskey=${accesskey},algorithm=HMAC_SHA256,headers=x-daterequest-line,signature=${signature}`字符串中;
在header中添加Authorization参数,将步骤一中得到的字符串赋值给该参数;
在header中添加x-date参数,将步骤一的步骤b中得到的时间赋值给该参数;
根据当前请求是get、post、put、patch、delete请求方式的不同,分别进行不同的处理。
5.如权利要求1所述的一种在web应用中进行身份认证的方法,其特征在于,如果是get请求,无需对body进行加密,直接对request_line进行签名;
如果是post、put、patch、delete,这几种请求方式一起处理,在header中添加Digest参数,将`SHA_256=${post_body_to_urlcode}`赋值给该参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川启睿克科技有限公司,未经四川启睿克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111631354.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种皮肤电阻腕表
- 下一篇:一种延长超级电容器工作寿命的制备方法