リソース所有者のパスワード(ROP)フローには、ユーザーのパスワードを処理するアプリケーションが関与するため、サードパーティクライアントで使用してはなりません。
仕組み

- ユーザーがアプリケーション内で**[Login(ログイン)]**をクリックし、資格情報を入力します。
- アプリケーションがユーザーの資格情報をAuth0の認可サーバー(
/oauth/token
エンドポイント)に送ります。 - Auth0の認可サーバーが資格情報を検証します。
- Auth0の認可サーバーがアクセストークン(リフレッシュトークンは任意)で応答します。
- アプリケーションはこのアクセストークンを使ってAPIを呼び出し、ユーザーに関する情報にアクセスできます。
- APIが要求されたデータを返します。
実装方法
リソース所有者のパスワードフローを実装する最も簡単な方法は、チュートリアルに従ってAPIエンドポイントを使用し、「リソース所有者のパスワードフローを使ってAPIを呼び出す」ことです。レルムの対応
Auth0の拡張機能付与には、リソース所有者のパスワード付与と似たような機能性がありますが、ユーザーディレクトリを(別の接続にマッピングしている)個別のディレクトリに保ち、フローで使用するものを指定できるようになってます。 たとえば、アプリケーションのログインUIにドロップダウンを表示して、ユーザーがEmployees
かCustomers
のユーザータイプを選択できるようにしたいとします。この場合、Employees
とCustomers
をレルムとして構成(してから、それぞれに対応する接続をセットアップ)して、従業員と顧客の資格情報を個別のユーザーディレクトリに保管することができます。トークンを要求する際にレルム値をユーザーの資格情報と一緒に送信すると、送信したレルムがパスワードの検証に使用されます。
この拡張機能付与の実装については、「リソース所有者のパスワードフローを使ってAPIを呼び出すレルムの対応を構成する」の「」をお読みください。
ルール
ルールはリソース所有者のパスワードフロー(レルム拡張機能付与を含む)で実行されます。ただし、リダイレクトのルールは機能しません。ルールでcontext.redirect
を指定してリダイレクトの実行を試みると、認証フローはエラーを返します。ルールの詳細については、「Auth0ルール」をお読みください。リダイレクトルールについての詳細は、「ルール内でユーザーをリダイレクトする」をお読みください。