接口认证方式:Bearer Token

Posted hhwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口认证方式:Bearer Token相关的知识,希望对你有一定的参考价值。

因为HTTP协议是开放的,可以任人调用。所以,如果接口不希望被随意调用,就需要做访问权限的控制,认证是好的用户,才允许调用API。

目前主流的访问权限控制/认证模式有以下几种:

1),Bearer Token(Token 令牌)

定义:为了验证使用者的身份,需要客户端向服务器端提供一个可靠的验证信息,称为Token,这个token通常由Json数据格式组成,通过hash散列算法生成一个字符串,所以称为Json Web Token(Json表示令牌的原始值是一个Json格式的数据,web表示是在互联网传播的,token表示令牌,简称JWT)

JWT分为三部分:

第一部分:头部

{

"typ" : "JWT",    (typ:类型)

"alg" : "HS256" (alg:算法,HS256表示哈希算法的mac值。SHA256/HmacSHA256,SHA256表示直接加密,HmacSHA256表示用秘钥进行加密。SHA(Secure[s??kj??(r)]  Hash Algorithm [??lg?r?e?m],安全散列算法)

HMAC(Hash Message Authentication [?:?θent?‘ke??n] Code,散列消息鉴别码))

}

 

 
技术分享图片
 
 
技术分享图片
 

第二部分(Claim正文部分)

{

"iss" : "joe",(issuer,发布者)

"exp": 1300819380,(expiration[?eksp??re??n]  time 过期时间,毫秒数计算)

"http://example.com/is_root" :true(主题)

}

第三部分:签名(将上面的两个部分组合在一起+本地信息做的一个的签名(头部在前)

网络解释:签名是把header和payload(载荷)对应的json结构进行base64url编码之后得到的两个串,用英文句点号拼接起来,然后根据header里面alg指定的签名算法生成出来的。

https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-19

1,令牌的好处:避免在使用中不断的输入账号和密码,比较安全

2,如果要测试带token的接口,首先要进行登录,登录成功会有个token信息,向api接口发送请求的时候必须带上这个token,故需要做2次请求(1,登录,拿到token 2,正式对接口进行测试)

 

 
技术分享图片
 

这个时候头部会多一个authorization

 

 
技术分享图片
 

authorization可能在头部,也可能直接跟在请求行里面

http://www.xxx.com/ada?token=xxxxx

要么是用post请求,然后放在参数里面

 

 
技术分享图片
 

3,注意点

1),token一般有时间限制。测试前需要跟开发确认token可以用多久,什么时候算token失效

2),token放在哪儿,怎么传回去,需要有开发文档,或者咨询开发,登录成功返回的token需要了解从什么地方获取(可以通过录制进行查看)



作者:好多可乐
链接:https://www.jianshu.com/p/8f7009456abc
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。





以上是关于接口认证方式:Bearer Token的主要内容,如果未能解决你的问题,请参考以下文章

jwt使用token传递前后端认证 实战项目演练

Bearer Token 认证和 JWT

从零手写单点登录(认证中心方式)

签发token校验token多方式登录签发token的实现自定义认证反爬规则的认证类admin使用自定义User表:新增用户密码密文群查接口各种筛选组件数据准备drf搜索过滤组件drf排

[接口测试_B] 11 requests的身份认证方式(文末附有系列文章)

034.认证方式 | Token认证 及 AK/SK认证