我想为我的REST API实现JWT身份验证。 客户端是一个Reactjs Web应用程序,后端是Expressjs REST API。
假设这种情况,
客户端是否需要了解刷新令牌?当服务器尝试使用过期的访问令牌访问路由时,服务器可以验证它并使用与数据库中与userID关联的刷新令牌,并为客户端生成新的访问令牌。
答案 0 :(得分:0)
以下假设使用OAuth 2.0 / OpenId Connect。
offline_access
端点的请求中指定的作用域列表中指定/token
,本机应用可以接收刷新令牌。/token
端点发出另一个请求,但是这次除了实际的刷新令牌外,还指定了grant_type=refresh_token
。请参见下面的示例请求:curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=refresh_token&client_id=4d7481b6-9de3-4e20-9fc1-f907cda9d993&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&refresh_token=QWERTY123&scope=openid%20offline_access" https://idp.example.com/token
最后一件事;除非出于安全原因,除非您可以严格管理对数据库的访问,否则您可能不应该考虑将刷新令牌存储在数据库中。