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