2.4.3.3. リソースオーナーパスワード認証情報

Red Hat Single Sign-On の Direct Grant (Direct Grant) と呼ばれるリソースオーナーパスワード認証情報を使用すると、ユーザー認証情報をトークンと交換できます。絶対に必要な場合を除き、このフローの使用は推奨されません。これは、従来のアプリケーションおよびコマンドラインインターフェースなどで役に立ちます。

このフローの使用には、次のようないくつかの制限があります。

  • ユーザーの認証情報ががアプリケーションに公開される
  • アプリケーションにはログインページが必要です。
  • アプリケーションは認証スキームを認識する必要があります。
  • 認証フローへの変更にはアプリケーションへの変更が必要です。
  • アイデンティティーブローカーまたはソーシャルログインはサポートされません。
  • フロー (ユーザー自己登録、必要なアクションなど) はサポートされません。

クライアントで Resource Owner Password Credentials の使用を許可するには、クライアントに Direct Access Grants Enabled オプションを有効にする必要があります。

このフローは OpenID Connect に含まれず、OAuth 2.0 仕様の一部です。

詳細は、OAuth 2.0 仕様の 「Resource Owner Password Credentials Grant」の章を参照してください。

2.4.3.3.1. CURL の使用例

以下の例は、ユーザー名user およびパスワード password を使用して、レルムの master ユーザーのアクセストークンを取得する方法を示しています。この例では、機密クライアント myclient を使用しています。

curl \
  -d "client_id=myclient" \
  -d "client_secret=40cc097b-2a57-4c17-b36a-8fdf3fc2d578" \
  -d "username=user" \
  -d "password=password" \
  -d "grant_type=password" \
  "http://localhost:8080/auth/realms/master/protocol/openid-connect/token"