Authlib OAuth2服务器允许使用撤销的刷新令牌

时间:2019-06-13 20:38:34

标签: oauth-2.0 authlib

使用基于OAuth2 Server Example的OAuth2服务器 服务器围绕令牌吊销的行为似乎很奇怪。如果客户端撤消刷新令牌,然后使用该撤消的刷新令牌请求新的访问令牌,则服务器会授予它。这似乎破坏了撤销的目的。

撤销刷新令牌:

 $ curl -u ikznOK52eGBSXFYg0KAlh2jp:aeB5VS3epdj1Ij53eBg2K43MlYJ5OIAEXm3SZE6NuUbfnLIq -XPOST http://localhost:5000/oauth/revoke  -F token=CQhaP6sD7076J8tZfCHt8k3tK3dhIPYIV1lfNLopLBeVaY40

响应为:{},并且sqlite的oauth2_token表中的记录显示已撤销的列为'1'

SQL查询:

Select revoked from oauth2_token Where refresh_token="CQhaP6sD7076J8tZfCHt8k3tK3dhIPYIV1lfNLopLBeVaY40"

查询结果为:

1

尝试使用已经重新命名的刷新令牌来请求新令牌

 curl -u ikznOK52eGBSXFYg0KAlh2jp:aeB5VS3epdj1Ij53eBg2K43MlYJ5OIAEXm3SZE6NuUbfnLIq -XPOST http://localhost:5000/oauth/token -F grant_type=refresh_token -F refresh_token=CQhaP6sD7076J8tZfCHt8k3tK3dhIPYIV1lfNLopLBeVaY40

响应为

{"access_token": "dboAGQshcBabK3RxTkvfKAlhVPPtBDWN1hn8zapHfz", "expires_in": 864000, "refresh_token": "bhHM4Znw8m7mtWLLcDefQR6bA6Zbl2eSaLfzWvnGhfvwIFYU", "scope": "profile", "token_type": "Bearer"}

0 个答案:

没有答案