39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
From 9b6c793d4a9e6fb7acc55d2da645560cc5ae9ead Mon Sep 17 00:00:00 2001
|
|
From: rearcher <123781007@qq.com>
|
|
Date: Tue, 24 Sep 2024 17:23:18 +0800
|
|
Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=A0=A1=E9=AA=8Ctoken?=
|
|
=?UTF-8?q?=E9=80=BB=E8=BE=91?=
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
---
|
|
oauth2_provider/app/views/oauth2.py | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/oauth2_provider/app/views/oauth2.py b/oauth2_provider/app/views/oauth2.py
|
|
index 8e7bb98..f9e2812 100644
|
|
--- a/oauth2_provider/app/views/oauth2.py
|
|
+++ b/oauth2_provider/app/views/oauth2.py
|
|
@@ -31,6 +31,7 @@ from vulcanus.restful.resp import state
|
|
from vulcanus.restful.response import BaseResponse
|
|
from werkzeug.utils import cached_property, import_string
|
|
|
|
+from oauth2_provider.app import cache
|
|
from oauth2_provider.app.constant import secret
|
|
from oauth2_provider.app.core.token import jwt_token
|
|
from oauth2_provider.app.serialize.oauth2 import OauthTokenIntrospectSchema, OauthTokenSchema, RefreshTokenSchema
|
|
@@ -100,6 +101,9 @@ class OauthorizeView(BaseResponse, OAuth2):
|
|
try:
|
|
token_info = jwt_token.decode(token=token, secret=secret)
|
|
g.username = token_info["sub"]
|
|
+ cache_token = cache.get(token_info["sub"] + "-token")
|
|
+ if token != cache_token:
|
|
+ raise ValueError
|
|
return True
|
|
except ExpiredSignatureError as error:
|
|
LOGGER.error("Signature has expired: %s" % token)
|
|
--
|
|
Gitee
|
|
|