2017-08-22 4 views
1

私はAqueductを初めて使用しており、/auth/tokenまたは/auth/codeルートにリクエストしようとすると無効なクライアントエラーが発生しています。 私は既にOAuth2.0クライアントを追加し、秘密が正しいことを確認しました。 /auth/tokenへの私の要求は次のようになります。水道局のdb_and_auth/wildfireの無効なクライアントの例

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); 

そして、私は_userデータベースにユーザ名と/auth/codeにログインしようとすると、サーバーは、それが実際に設定ミスの問題だった400:invalid_client

+1

確認するべきこと:設定ファイルが正しいデータベースを指していますか? aqueduct auth CLIを使用してクライアントIDとシークレットを追加しましたか?また、ここに水引のためのスラックチャンネルがあります:http://aqueductsignup.herokuapp.com –

答えて

0

をスローします。私のすべてのデータベースを削除した後、database.yamlファイルを追加しました。これはconfig.yamlと同じだと思いましたが、明らかにそうではありません。 database.yaml次のようになります。私はまた、すなわち使用して、--connectフラグなしaqueduct authaqueduct dbのコマンドを実行した

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

:config.yamlは次のようになりながら

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

設定ファイル。

+0

それがうまくいって聞いてうれしいです。明確にするため、config.yamlはアプリケーションの設定ファイルのデフォルト名です。データベースに接続するCLIコマンドには--connectオプションを使用してデータベース認証情報を提供します。便宜上、これらの資格情報をdatabase.yamlファイルに配置して、CLIで入力する必要がなくなります。 CLIはアプリケーションの設定ファイルの詳細を理解しません。 –

関連する問題