LINUX.ORG.RU

История изменений

Исправление vvn_black, (текущая версия) :

Зачем там библиотека?

Аутентификация делается запросом к кейклоаку и сохранением токена в обработчике указанного в запросе редиректа.

А авторизация для фронта, по-моему даже в официальной документации расписана, что-то типа такого:

from fastapi import Security
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer

security = HTTPBearer()

async def auth(credentials: HTTPAuthorizationCredentials = Security(security)):
    token = credentials.credentials

    # дальше проверяем токен
    ...

@app.get('/private')
async def private(auth = Depends(auth)):
    ...

Но, лучше кейклоак на фронте дергать, не думаю, что часто встретишь FastAPI в качестве шаблонизатора.

Исходная версия vvn_black, :

Зачем там библиотека?

Аутентификация делается запросом к кейклоаку и сохранением токена в обработчике указанного в запросе редиректа.

А авторизация для фронта, по-моему даже в официальной документации расписана, что-то типа такого:

from fastapi import Security
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer

security = HTTPBearer()

async def auth(credentials: HTTPAuthorizationCredentials = Security(security)):
    token = credentials.credentials

    # дальше проверяем токен
    ...

@app.get('/private')
def private(auth = Depends(auth)):
    ...

Но, лучше кейклоак на фронте дергать, не думаю, что часто встретишь FastAPI в качестве шаблонизатора.