Дизайн API: Auth0 для аутентификации и внутренней авторизации - PullRequest
0 голосов
/ 23 декабря 2018

Я создаю собственное приложение для iOS, которое взаимодействует с Flask API.

Мой план состоит в том, чтобы интерфейсный дескриптор iOS входил в систему с блокировкой Auth0.После этого клиентский интерфейс будет хранить JWT в локальной памяти и использовать его при каждом запросе API.

В серверной части я планирую иметь таблицу User с внутренним полем ID и полем Auth0 ID,Для каждого запроса API я бы посмотрел пользователя через идентификатор Auth0, а затем использовал бы библиотеку типа flask-bouncer для обработки авторизации ресурса.

  1. Это правильный подход?
  2. Существуют ли какие-либо готовые функции Auth0, которые я собираю?Если да, каковы преимущества использования версии Auth0?
  3. Есть ли какие-либо будущие последствия, которые я упускаю при использовании этого подхода?
  4. Каковы преимущества использования Auth0 вместо того, чтобы создавать его самостоятельно, следуячто-то вроде это ?
  5. Что еще нужно рассмотреть?

1 Ответ

0 голосов
/ 23 декабря 2018

Это правильный подход?

Зависит от того, что вы называете действительным.Но это сработало бы, да.

Существуют ли какие-либо готовые функции Auth0, которые я перестраиваю?Если да, каковы преимущества использования версии Auth0?

Вы не используете авторизацию с использованием областей.См. учебное пособие Auth0 для Flask .

Есть ли какие-либо будущие последствия, которые я упускаю при таком подходе?

Это широкий вопрос, который я бы не сталНе знаю ответа на вопрос.

Каковы преимущества использования Auth0 вместо того, чтобы создавать его самостоятельно после чего-то подобного?

Вам не нужно беспокоиться о регистрациивход в систему, проверка электронной почты, защита от перебора, сброс паролей, MFA и т. д. Вы получаете все эти вещи из коробки.Но ... некоторые более сложные вещи могут потребовать дополнительных усилий на вашей стороне.

Есть еще что-то, что стоит рассмотреть?

Примите четкое решение о том, где вы храните то, чтоинформация и хотите ли вы вообще хранить своих пользователей в своей базе данных.Легким подводным камнем является наличие нескольких источников правды для определенных данных, которые находятся как в Auth0, так и в вашей базе данных (например, имя и фамилия).Также см. Рекомендации по хранению пользовательских данных .

...