Я создал проект Aqueduct с помощью aqueduct create -t db_and_auth
, но не понял, как работает регистрация и аутентификация с OAuth 2.0. Может ли кто-нибудь объяснить, как зарегистрироваться из шаблона OAuth2.0 и БД, автоматически созданного акведуком, и какие шаги мне нужно сделать, чтобы зарегистрироваться, а затем пройти аутентификацию?
Не могу понять автоматически сгенерированную базу данных акведука и авторизацию
Ответы (1)
Из клиентского приложения вы 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/.
test/register_test.dart
в шаблоне для примера полезной нагрузки.
- person Joe Conway; 25.09.2018