Не могу понять автоматически сгенерированные БД и аутентификации в акведуке - PullRequest
0 голосов
/ 23 сентября 2018

Я создал проект Aqueduct, используя aqueduct create -t db_and_auth, но я не понимал, как работает регистрация и аутентификация с OAuth 2.0.Может кто-нибудь объяснить, как зарегистрироваться из OAuth2.0 и шаблона БД, автоматически созданного aqueduct, и какие шаги мне нужно сделать, чтобы зарегистрироваться, а затем пройти аутентификацию?

1 Ответ

0 голосов
/ 24 сентября 2018

Из клиентского приложения вы POST /register получаете полезную нагрузку JSON, содержащую пользователя.В зависимости от версии вашего шаблона это может быть {"username": "bob", "password": "password"} - проверьте определение вашего _User типа.

Когда вы аутентифицируете уже существующего пользователя, вы вызываете POST /auth/token и передаете имя пользователя, пароль и другие необходимые поля в виде данных, закодированных в формате x-www-form-urlencoded.Формат этого запроса - написанный в коде Dart - здесь: http://aqueduct.io/docs/auth/controllers/.

Если вы регистрируете нового пользователя или аутентифицируете существующего пользователя, вы должны предоставить идентификатор клиента (и, возможно, секрет клиента) в видеБазовый заголовок авторизации.Идентификатор клиента должен быть уже зарегистрирован в вашем приложении и сохранен в его базе данных.

Чтобы сохранить идентификаторы клиента в базе данных, вам необходимо сначала запустить миграцию базы данных вашего приложения на экземпляре базы данных (см. http://aqueduct.io/docs/db/db_tools/ для запуска миграций базы данных).Это создаст таблицы для хранения идентификаторов и токенов клиента OAuth 2.0.

Затем вам нужно добавить идентификаторы клиента OAuth2.0 в вашу базу данных.Лучше всего это сделать с помощью aqueduct auth CLI, и здесь есть документация: http://aqueduct.io/docs/auth/cli/.

...