Столкнулся с такой проблемой:
Сделал ендпоинт который принимает токен
@app.post('/refresh')
@limiter.limit("10/minute")
async def refresh(request: Request,token: str = Depends(check_refresh_token)):
access_token = create_access_token({"sub": token})
pass
и затем работает с субъектом
сама вызываемая от Depends функция
def check_refresh_token(token: str = Depends(oauth2_scheme)):
*логика функции*
return payload.get("sub")
По сути возвращает username с которым дальше и идет работа в ендпоинте.
смущает что ендпоинт принимает токен
token: str = Depends(check_refresh_token) как токен но потом работает с объектом который называется token, как с username
access_token = create_access_token({"sub": token}) (ведь по сути его я и вернул).
конечно можно в ендпоинте определить
username = token и не париться
Но что вообще будет самым правильным в подобных ситуациях? Возвращать в вызываемой от Depends функции что-то общее?(например весь payload в моем случае)а затем в ендпоинте вытаскивать только username. Может подобные ситуации могут указывать на необходимость чего-либо?(как,например, в БД многие-ко-многим говорит о необходимости дополнительной таблицы)