当用户尝试刷新JWT令牌对时,将刷新令牌传输到服务器的更好方法是什么?

时间:2019-02-14 13:33:45

标签: http authentication http-headers authorization jwt

有一个适用于多平台应用程序的API。访问大部分功能需要授权。授权基于JWT令牌。工作流程如下所示:

第一步。客户端将POST请求正文中的凭据发送到/user/authenticate/。如果凭据有效,则服务器将使用一对JWT令牌进行响应。这些都保存在响应正文中:

{
    "access": "eyJ0eXAiOiJKV1Q.LCJleHAiOiIxNC4wMi4yMDE5IDE1OjEx.lUPAKbdYwkRt3vMBY",
    "refresh": "eyJ0eXAiOiJKV1Q.iwiZXhwIjoiMTQuMDMuMjAxOSAxNDo0M.iidNaxbMflEadVSS"
}

进一步的步骤。第一步中获得的令牌保存在客户端。当客户端向服务器发送请求时,access token将附加到请求标头中。标题看起来像这样:

Authorization: Bearer eyJ0eXAiOiJKV1Q.LCJleHAiOiIxNC4wMi4yMDE5IDE1OjEx.lUPAKbdYwkRt3vMBY

刷新令牌。一切都保持不变,直到令牌的到期时间接近为止。客户端决定刷新令牌时,应将POST请求发送到/user/extend-token/。为了获得新的令牌对,客户端必须提供有效的refresh token

问题是-在向服务器的传输过程中,refresh token应该保留在哪里:在请求正文中(就像第一步中的凭据一样),或者在标头中(就像{ {1}}在对API的常规请求中)?

0 个答案:

没有答案