Casper van der Wel 2 роки тому
батько
коміт
e9c611f644
2 змінених файлів з 13 додано та 2 видалено
  1. 1 1
      CHANGES.md
  2. 12 1
      clean_python/oauth2/token_verifier.py

+ 1 - 1
CHANGES.md

@@ -4,7 +4,7 @@
 0.3.1 (unreleased)
 ------------------
 
-- Nothing changed yet.
+- Added `TokenVerifier.force()` for testing purposes.
 
 
 0.3.0 (2023-08-16)

+ 12 - 1
clean_python/oauth2/token_verifier.py

@@ -45,13 +45,24 @@ class OAuth2SPAClientSettings(BaseModel):
 
 
 class BaseTokenVerifier:
+    def force(self, token: Token) -> None:
+        raise NotImplementedError()
+
     def __call__(self, authorization: Optional[str]) -> Token:
         raise NotImplementedError()
 
 
 class NoAuthTokenVerifier(BaseTokenVerifier):
+    def __init__(self):
+        self.token = Token(
+            claims={"sub": "DEV", "username": "dev", "scope": "superuser"}
+        )
+
+    def force(self, token: Token) -> None:
+        self.token = token
+
     def __call__(self, authorization: Optional[str]) -> Token:
-        return Token(claims={"sub": "DEV", "username": "dev", "scope": "superuser"})
+        return self.token
 
 
 class TokenVerifier(BaseTokenVerifier):