openid4javaライブラリを使用してOpenIDログイン認証に必要な操作を実行するサービスを1つ実装しました。
応募の流れは以下のように思われます
- ユーザーからOpenIDを取得するためのJSPページ
- JSPページのアクションサーブレット
- サーブレットフェッチopenidパラメータは、サービスと対話して、認証のためにユーザーを実際のOpenIDプロバイダーにリダイレクトするために必要な情報を取得します。
- OpenIDプロバイダーに提供されるreturnurlは、互いにサーブレットです。
- このサーブレットは、Open IDプロバイダーによって送信された応答から必要な情報を取得し、サービスと対話して、ユーザーがOpenIDプロバイダーによって認証されているかどうかを確認します。
- ユーザーが認証されると、サーブレットはユーザーをホームページにリダイレクトします。
私の実装アプローチを理解している場合は、次のクエリを楽しませてください。それ以外の場合は、理解できるようにさらに努力するために、私に知らせてください。
クエリJBoss5アプリケーションサーバーを使用しています。上記のコードでは、ユーザーが認証されているかどうかの情報を取得しているだけですが、ユーザーが制限されたリソースにアクセスできるようにする方法、つまりWebページの表示方法をjbossに通知する必要があります。
org.jboss.security.auth.spi.UsernamePasswordLoginModule
通常、データベースベースの認証(データベース認証情報を取得するためのサービスメソッドの呼び出し)を継承するカスタムログインモジュールクラスを使用します。しかし、この場合、サービス、ユーザー、OpenIDプロバイダー間の通信チャネルとして機能するサーブレットが必要です。サーブレットとログインモジュールの実装の両方をどのように統合する必要がありますか。
私が直面している可能性のあるもう1つの問題は、DiscoveryInformation
オブジェクトの保存と取得に2つの実装されたサーブレット間のセッションを使用していることです。ユーザーがログインしない限り、セッションにアクセスできないと思います。
私がフォローしている実装アプローチは、記事http://www.theserverside.com/news/1364125/Using-OpenIDに基づいています。
私を助けてくださいありがとう