无法理解渡槽自动生成的数据库和身份验证

Can't understand aqueduct auto-generated db and auth

我使用 aqueduct create -t db_and_auth 创建了一个 Aqueduct 项目,但我不明白 OAuth 2.0 的注册和身份验证是如何工作的。有人可以解释如何从渡槽自动创建的 OAuth2.0 和数据库模板注册,以及我必须执行哪些步骤才能注册然后进行身份验证?

从客户端应用程序,您 POST /register 具有包含用户的 JSON 负载。根据您拥有的模板版本,这可能只是 {"username": "bob", "password": "password"} - 检查您的 _User 类型的定义。

当您验证现有用户时,您调用 POST /auth/token 并将用户名、密码和其他必填字段作为 x-www-form-urlencoded 数据传递。该请求的格式 - 用 Dart 代码编写 - 在这里:http://aqueduct.io/docs/auth/controllers/.

无论您是注册新用户还是验证现有用户,都必须提供客户端标识符(以及可选的客户端密码)作为基本授权 header。客户端标识符必须已在您的应用程序中注册并存储在其数据库中。

要将客户端标识符存储在数据库中,您需要先 运行 数据库实例上的应用程序数据库迁移(请参阅 http://aqueduct.io/docs/db/db_tools/ 了解 运行 宁数据库迁移)。这将创建表来存储 OAuth 2.0 客户端标识符和令牌。

然后您需要将 OAuth2.0 客户端标识符添加到您的数据库中。这最好使用 aqueduct auth CLI 完成,这里有相关文档:http://aqueduct.io/docs/auth/cli/.