Hawk Auth
Hawk Auth 是一个 HTTP 认证方案,使用 MAC(Message Authentication Code,消息认证码算法)算法,它提供
了对请求进行部分加密验证的认证 HTTP 请求的方法。hawk 方案要求提供一个共享对称密匙在服务器与客户端之
间,通常这个共享的凭证在初始 TLS(安全传输层协议)保护阶段建立的,或者是从客户端和服务器都可用的其他
一些共享机密信息中获得的。
案例
请求 URL 如下:
https://postman-echo.com/auth/hawk
密钥信息如下:
• Hawk Auth ID: dh37fgj492je
• Hawk Auth Key: werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn
• Algorithm: sha256
执行结果如下:
{
"message": "Hawk Authentication Successful"
}
如果将 key 改为其他任意的字符则返回如下结果:
{
"statusCode": 401,
"error": "Unauthorized",
"message": "Bad mac",
"attributes": {
"error": "Bad mac"
}
}
OAuth 1.0
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片, 视频,联系人列表),而无需将用户名和密码提供给第三方应用。 比如:用微信、QQ第三方登录。
请求 URL 如下:请求方式为 GET,Add authorization data to 设置为:Request Headers
https://postman-echo.com/oauth1
参数配置为:
• Consumer Key: RKCGzna7bv9YD57c
• Consumer Secret: D+EdQ-gs$-%@2Nu7
如果 Consumer Secret 错误则返回如下结果:
{
"status": "fail",
"message": "HMAC-SHA1 verification failed",
"base_uri": "https://postman-echo.com/oauth1",
"normalized_param_string": "oauth_consumer_key=RKCGzna7bv9YD57c&oauth_nonce=OGTS5JaXay9&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1622081360&oauth_version=1.0",
"base_string": "GET&https%3A%2F%2Fpostman-echo.com%2Foauth1&oauth_consumer_key%3DRKCGzna7bv9YD57c%26oauth_nonce%3DOGTS5JaXay9%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1622081360%26oauth_version%3D1.0",
"signing_key": "D%2BEdQ-gs%24-%25%402Nu7&"
}