15.13. OpenID
警告
Technology Preview の機能は Red Hat サブスクリプションレベルアグリーメント (SLA) では完全に対応していません。また、機能的に完全ではない場合があるため実稼働での使用を目的としていません。ただし、こうした機能により今後の新製品開発に早くアクセスすることができるため、開発段階でお客様が機能性をテストしたり、フィードバックをお寄せいただくことができます。Red Hat は 今後強化された Technology Preview の機能を一般的に利用できるよう検討しており、商業的に合理的な範囲でお客様がこうした機能を使用しているときに直面するすべての問題の解決に向けて努力します。
OpenID は外部の Web ベース認証用のコミュニティ標準です。 いずれの Web アプリケーションでもユーザー選択の外部 OpenID サーバーに役割を委任することでそのローカルの認証処理を補完 (または置換) することができます。 ユーザー (複数の Web アプリケーションのそれぞれのログイン詳細を覚えておく必要がなくなる) にとっても開発者 (複雑な認証システム全体を管理する必要がなくなる) にとっても利点となります。
OpenID を使用する場合、 ユーザーが OpenID プロバイダを選択しそのプロバイダがユーザーに OpenID を割り当てます。 ID は
http://maximoburrito.myopenid.com などの URL 形式をとります (識別子の http:// の部分はサイトにログインするときは省略して構いません)。 Web アプリケーション (relying party (証明書利用者) として知られる) は接続する OpenID サーバーを決定し、認証用のリモートサイトにリダイレクトします。認証に成功するとそのユーザーには本人のアイデンティティを証明する (暗号化されて安全な) トークンが与えられ、元の Web アプリケーションに戻されます。 これでローカルの Web アプリケーションはアプリケーションにアクセスしているユーザーが提示された OpenID を所有していると仮定できます。
ただし、 認証は承認を意味するわけではありません。 Web アプリケーションは OpenID 認証の取扱い方法を確定する必要があります。 Web アプリケーションは即座にログインしたとしてユーザーを取り扱うよう選択し、システムへの完全なアクセスを許可することができます。 または、 OpenID をローカルユーザーアカウントにマッピングして未登録のユーザーに登録するよう求めることができます。これはローカルアプリケーションの設計上の決定事項です。
15.13.1. OpenID の設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Seam は
opemid4java パッケージを使用し、 Seam 統合を利用するため 4 種類の JAR が追加で必要です。 htmlparser.jar、 openid4java.jar、 openxri-client.jar、 openxri-syntax.jar です。
OpenID 処理には
OpenIdPhaseListener を必要とし、 faces-config.xml ファイルに追加する必要があります。 フェーズリスナーは OpenID プロバイダからのコールバックを処理してローカルアプリケーションへの再エントリを許可します。
この構成により使用するアプリケーションへの OpenID のサポートを利用可能にします。 OpenID サポートコンポーネントとなる
org.jboss.seam.security.openid.openid は、openid4java クラス群がクラスパスにある場合には自動的にインストールされます。