1

我是 Aqueduct 的新手,每当我尝试向/auth/tokenor/auth/code路由发出请求时,都会遇到无效的客户端错误。我已经添加了 OAuth2.0 客户端并验证了密码是正确的。我的请求/auth/token如下所示:

Future main() async {
  var http2 = new http.Client();
  var clientID = "com.wildfire.mobile";
  var clientSecret = "myspecialsecret ";
  var body = "username=usr&password=pwd&grant_type=password";
  var clientCredentials = new Base64Encoder().convert(
      "$clientID:$clientSecret".codeUnits);
  var response = await
  http.post(
      "http://localhost:8081/auth/token",
      headers: {
        "Content-Type": "application/x-www-form-urlencoded",
        "Authorization": "Basic $clientCredentials"
      },
      body: body);

当我尝试/auth/code使用 _user 数据库中的用户名登录时,服务器会抛出一个400:invalid_client

4

1 回答 1

0

这确实是一个配置错误的问题。删除所有数据库后,我添加了一个 database.yaml 文件,我认为它与 config.yaml 相同,但显然不是。database.yaml 看起来像这样:

 username: adan
 password: pass
 host: localhost
 port: 5432
 databaseName: wildfire_db

而 config.yaml 看起来像这样:

database:
 username: adan
 password: pass
 host: localhost
 port: 5432
 databaseName: wildfire_db

我还运行了没有 --connect 标志的aqueduct authandaqueduct db命令,即使用配置文件。

于 2017-08-24T05:28:23.283 回答