Flask-jwt Как мне указать авторизацию после успешной аутентификации

Я использую flask, flask-jwt а также flask-restful, Я могу получить access_token, но как только любой пользователь проходит аутентификацию, он может делать все для всех таблиц базы данных, используя конечную точку REST-API, как я могу реализовать авторизацию, когда определенный пользователь может выполнять определенные действия для определенной строки / поля в базе данных "one belongs to him for example",

Все статьи, которые я прочитал, говорят только о том, как пройти аутентификацию, но не выходят за рамки.

1 ответ

Решение

Я нашел решение, на самом деле jwt просто возвращает подписанный токен, который содержит идентификационные данные пользователя и другую информацию, чтобы увидеть детали, включенные в токен, можно использовать следующий веб-сайт: https://jwt.io/

Используя flask-jwt, есть объект под названием current_identity, который можно получить с помощью любой функции, декорированной @jwt_required, он должен быть импортирован первым:

from flask_jwt import jwt_required , current_identity

current_identity в моем случае вернул идентификатор и имя пользователя, который пытался вставить / обновить данные через конечную точку API.

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

Другие вопросы по тегам