mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
Merge pull request #2958 from markparonyan/api-issue-09-aef9as
feat(api): return token lifetimes and document API keys as bearer tokens
This commit is contained in:
5 files changed
+97
-21
No files matched your search
@@ -36,7 +36,12 @@ from gns3server.services.access_tickets import TICKET_PREFIX
|
||||
from .database import get_repository
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/v3/access/users/login", auto_error=False)
|
||||
oauth2_scheme = OAuth2PasswordBearer(
|
||||
tokenUrl="/v3/access/users/login",
|
||||
auto_error=False,
|
||||
description="Send the access token as a bearer token. "
|
||||
"An API key (gns3_<api_key_id>_<secret>) is also accepted as the bearer token.",
|
||||
)
|
||||
|
||||
|
||||
def _reject_refresh_token(token_data) -> None:
|
||||
|
||||
@@ -65,12 +65,7 @@ async def login(
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
|
||||
token = schemas.Token(
|
||||
access_token=auth_service.create_access_token(user.username, token_version=user.token_version),
|
||||
token_type="bearer",
|
||||
refresh_token=auth_service.create_refresh_token(user.username, token_version=user.token_version),
|
||||
)
|
||||
return token
|
||||
return auth_service.create_token_response(user)
|
||||
|
||||
|
||||
@router.post("/authenticate", response_model=schemas.Token)
|
||||
@@ -91,12 +86,7 @@ async def authenticate(
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
|
||||
token = schemas.Token(
|
||||
access_token=auth_service.create_access_token(user.username, token_version=user.token_version),
|
||||
token_type="bearer",
|
||||
refresh_token=auth_service.create_refresh_token(user.username, token_version=user.token_version),
|
||||
)
|
||||
return token
|
||||
return auth_service.create_token_response(user)
|
||||
|
||||
|
||||
@router.post("/refresh", response_model=schemas.Token)
|
||||
@@ -135,11 +125,7 @@ async def refresh_access_token(
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
|
||||
return schemas.Token(
|
||||
access_token=auth_service.create_access_token(user.username, token_version=user.token_version),
|
||||
token_type="bearer",
|
||||
refresh_token=auth_service.create_refresh_token(user.username, token_version=user.token_version),
|
||||
)
|
||||
return auth_service.create_token_response(user)
|
||||
|
||||
|
||||
@router.post("/logout", status_code=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
Reference in new issue
Block a user