OpenIDをWicketで使おうって思ったのはこちらからなので、こちらを前提にして書きます。
ブログパーツ作ってみたい!
http://d.hatena.ne.jp/nigredo/20081008/1223475490
Wicketでブログパーツを作って、OpenIDを使ったログイン方法をとるときに少なくとも自分ができた方法はこんな感じになる。(もしかするとこれはWicketの世界ではバッドノウハウかもしれませんが、)
- はてなに貼り付けるブログパーツなので、Googleガジェットを経由します。
- Googleガジェット経由で、ブログパーツアプリのトップにクエリ文字列で、ユーザID、オープンIDプロバイダの情報を指定するように設定します。
- こんな感じに... http://hoge.jp/blogparts?loginid=nigredo&provider=hatena
- ブログパーツアプリのトップ(getHomePage()で設定したPageクラスです)のコンストラクタでは次の処理を行います
- クエリ文字列がオープンIDプロバイダからの返送の場合、認証する
- クエリ文字列がユーザID、オープンIDプロバイダの情報の場合、単にユーザ情報として保存して、パーツの表示に使います。(このときは単にこのユーザの情報が表示したい!ってことなので、指定されたユーザIDを信用して表示してあげます)
- それ以外は、エラーとして処理します。
- ログイン処理では、先ほどクエリ文字列で指定されてセッションに保存された情報をもとに、OpenIDのURLを編集してopenid4javaに認証を依頼します。(この場合最終的にははてなに依頼されます)
多分エラー処理を考えると、もうちょっと考える部分が出てくると思うけど。