以下の手順を実行して、ブラウザーからシングル サインオン認証用のセキュリティ トークンを取得します。
http ヘッダーからトークンを見つけることができます。私の質問は次のとおりです: a) このトークンを Active Directory で検証するにはどうすればよいですか? b) このトークンからユーザー名を見つけるにはどうすればよいですか?
グーグルで調べていると、Java APIには、私が期待していたことを行うためのKerberos5ログインモジュールがあるようです。しかし、ほとんどすべてのページに単純な例がありません。
- Web クライアントは、GET 要求で AS Java リソースにアクセスします。
- AS Java は、HTTP ヘッダー "WWW-Authenticate" を "Negotiate" に設定して SPNego 認証を開始する要求とともに、401 応答コード (無許可) を返します。
- Web クライアントは、AS Java ホストが Kerberos レルムのメンバーであることを認識し、KDC から AS Java の Kerberos クライアント/サーバー セッション チケットを取得します。
- 次に、Web クライアントは、Kerberos クライアント/サーバー セッション チケットを AS Java に送信し、HTTP 認証ヘッダーで SPNego トークンとしてラップします。
- SPNegoLoginModule は、HTTP 要求からトークンを読み取り、それを JDK の Kerberos 実装にフィードします。
- その結果、クライアント認証が成功するか、クライアント要求が拒否された場合や KDC への別のラウンドトリップが必要な場合に失敗します。障害が発生した場合、AS Java の Kerberos JDK 実装は、出力トークンを生成して Web クライアントに送り返します。出力トークンは SPNego トークンとしてラップされ、HTTP 認証ヘッダーで送信されます。
どんな助けでも大歓迎です。