web-dev-qa-db-ja.com

auth0カスタムAPIでユーザー名のパスワードをリクエストする方法、「サポートされていない付与タイプ:パスワード」エラーが発生する

Auth0 postmanテンプレートを使用して、ユーザー名とパスワードを使用して認証リクエストを作成しようとしましたが、unsupported grant type: password error。何が悪いのですか?

var client = new RestClient("https://test.auth0.com/oauth/token");
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "abc");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "grant_type=password&client_id=foo&audience=&username=test&password=test&scope=openid%20email%20picture%20nickname", ParameterType.RequestBody);
13
MonkeyBonkey
  1. Auth0ダッシュボードにログインします。
  2. アカウント設定に移動します(ユーザー名の右上)
  3. 全般タブで下にスクロールしてAPI Authorization Settings セクション
  4. Default AudienceはAPI識別子になります(APIがある場合)
  5. Default Directoryは、データベース接続名などの接続です。

POST to oauth/tokenには、オーディエンスを含めないでください(上記のデフォルトを指定した場合)。

お奨めは、Auth0が認証を簡単かつ困難なほど同時に困難にする方法です。

以下のスクリーンショットを参照してください。 enter image description here

37
The Muffin Man

これらは、この正確な問題を解決するために私が取った正確な手順です

デスクトップのブラウザでログインUIの右上で、ユーザー名をクリックして、設定

API Authorization Settingsまでスクロールします

デフォルトのオーディエンスとデフォルトのディレクトリの両方に有効な値を入力してください。

たとえば、私はすでにロック画面を使用しており、クライアントアプリケーションで設定しているデフォルトのオーディエンスをすでに設定していて、すべてが機能していました。

また、[接続]> [データベース]を、[ユーザー名-パスワード-認証]という名前で既に設定しています。

これは、執筆時点でここに含まれている郵便配達員のコレクションを使用して、上記を実行した後に機能するスクリーンショットです

https://app.getpostman.com/run-collection/2a9bc47495ab00cda178

ここで参照されています

https://auth0.com/docs/api/authentication#code-samples

enter image description here

1
jbooker