[v1.x] Add subject and claims to AccessToken (#2690)
This commit is contained in:
parent
9773a3f75e
commit
1abcca2408
1 changed files with 27 additions and 2 deletions
|
|
@ -54,6 +54,7 @@ class MockOAuthProvider(OAuthAuthorizationServerProvider[AuthorizationCode, Refr
|
|||
redirect_uri_provided_explicitly=params.redirect_uri_provided_explicitly,
|
||||
expires_at=time.time() + 300,
|
||||
scopes=params.scopes or ["read", "write"],
|
||||
subject="test-user",
|
||||
)
|
||||
self.auth_codes[code.code] = code
|
||||
|
||||
|
|
@ -80,6 +81,7 @@ class MockOAuthProvider(OAuthAuthorizationServerProvider[AuthorizationCode, Refr
|
|||
client_id=client.client_id,
|
||||
scopes=authorization_code.scopes,
|
||||
expires_at=int(time.time()) + 3600,
|
||||
subject=authorization_code.subject,
|
||||
)
|
||||
|
||||
self.refresh_tokens[refresh_token] = access_token
|
||||
|
|
@ -109,6 +111,7 @@ class MockOAuthProvider(OAuthAuthorizationServerProvider[AuthorizationCode, Refr
|
|||
client_id=token_info.client_id,
|
||||
scopes=token_info.scopes,
|
||||
expires_at=token_info.expires_at,
|
||||
subject=token_info.subject,
|
||||
)
|
||||
|
||||
return refresh_obj
|
||||
|
|
@ -142,6 +145,7 @@ class MockOAuthProvider(OAuthAuthorizationServerProvider[AuthorizationCode, Refr
|
|||
client_id=client.client_id,
|
||||
scopes=scopes or token_info.scopes,
|
||||
expires_at=int(time.time()) + 3600,
|
||||
subject=refresh_token.subject,
|
||||
)
|
||||
|
||||
self.refresh_tokens[new_refresh_token] = new_access_token
|
||||
|
|
@ -170,6 +174,7 @@ class MockOAuthProvider(OAuthAuthorizationServerProvider[AuthorizationCode, Refr
|
|||
client_id=token_info.client_id,
|
||||
scopes=token_info.scopes,
|
||||
expires_at=token_info.expires_at,
|
||||
subject=token_info.subject,
|
||||
)
|
||||
|
||||
async def revoke_token(self, token: AccessToken | RefreshToken) -> None:
|
||||
|
|
@ -783,6 +788,7 @@ class TestAuthEndpoints:
|
|||
assert auth_info.client_id == client_info["client_id"]
|
||||
assert "read" in auth_info.scopes
|
||||
assert "write" in auth_info.scopes
|
||||
assert auth_info.subject == "test-user"
|
||||
|
||||
# 6. Refresh the token
|
||||
response = await test_client.post(
|
||||
|
|
@ -803,6 +809,10 @@ class TestAuthEndpoints:
|
|||
assert new_token_response["access_token"] != access_token
|
||||
assert new_token_response["refresh_token"] != refresh_token
|
||||
|
||||
refreshed_auth_info = await mock_oauth_provider.load_access_token(new_token_response["access_token"])
|
||||
assert refreshed_auth_info
|
||||
assert refreshed_auth_info.subject == "test-user"
|
||||
|
||||
# 7. Revoke the token
|
||||
response = await test_client.post(
|
||||
"/revoke",
|
||||
|
|
|
|||
Loading…
Reference in a new issue