最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
三、流程
- 判断⽤户请求中是否包含
Authorization
认证字符串。如果包含认证字符串,则执⾏下⼀步操作。 - 基于
HTTP
请求信息,使⽤相同的算法,⽣成Signature
字符串。 - 使⽤服务器⽣成的
Signature
字符串与⽤户提供的字符串进⾏⽐对,如果内容不⼀致,则认为认证失败,拒绝该请求;如果内容⼀致,则表⽰认证成功,系统将按照⽤户的请求内容进⾏操作。
客户端:
1. 构建http请求(包含 access key);
2. 使⽤请求内容和使⽤secret access key计算的签名(signature);
3. 发送请求到服务端。
服务端:
1. 根据发送的access key 查找数据库得到对应的secret-key;
2. 使⽤同样的算法将请求内容和 secret-key ⼀起计算签名(signature),与客户端步骤2相同;
3. 对⽐⽤户发送的签名和服务端计算的签名,两者相同则认证通过,否则失败。
四、应用示例
设计ak/sk
的请求参数
platform_type
:标明请求方是谁,即该例子中的ak
。time
:请求时间,时间戳,将会被对应的sk
配合加密算法进行加密,得到一个signature
签名。sign
:签名,使用sk配合对应的加密算法后进行加密得到的签名。
当发送请求时,请求端会带上这几个参数去请求接口,如请求
https:///xxx.com/students?platform\_type=school&time=1640494526&sign=54acba6857b284a8a481ed5913edd34d994721cc584305ff02c81bb3ced17212
五、拓展阅读
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
给大家分享一些关于HTML的面试题。
图片转存中…(img-stWaX3nb-1714850363614)]
[外链图片转存中…(img-w9bQmkyd-1714850363615)]