クラス OpenIDAuthenticationFilter

  • 実装されたすべてのインターフェース:
    javax.servlet.Filterorg.springframework.beans.factory.Awareorg.springframework.beans.factory.BeanNameAwareorg.springframework.beans.factory.DisposableBeanorg.springframework.beans.factory.InitializingBeanorg.springframework.context.ApplicationEventPublisherAwareorg.springframework.context.EnvironmentAwareorg.springframework.context.MessageSourceAwareorg.springframework.core.env.EnvironmentCapableorg.springframework.web.context.ServletContextAware

    @Deprecated
    public class OpenIDAuthenticationFilter
    extends AbstractAuthenticationProcessingFilter
    使用すべきではありません。
    OpenID 1.0 および 2.0 プロトコルは非推奨になり、ユーザーは spring-security-oauth2 でサポートされる OpenID Connect移行することをお勧めします。
    OpenID 認証リクエストを処理するフィルター。

    OpenID 認証には 2 つの段階があります。

    OpenID ID の送信

    ユーザーの OpenID ID は、通常のフォームログインの場合と同様に、ログインフォームを介して送信されます。この段階で、フィルターは送信されたリクエストから ID を抽出します(デフォルトでは、パラメーターは openid_identifier と呼ばれ、OpenID 2.0 仕様で推奨されています)。次に、構成済みの OpenIDConsumer に ID を渡し、認証のためにリクエストをリダイレクトする必要がある URL を返します。"return_to" URL も提供されます。これは、このフィルターによって処理された URL と一致し、ユーザーが正常に認証されるとフィルターがリクエストを処理できるようにします。OpenID サーバーはユーザーを認証し、アプリケーションにリダイレクトします。

    OpenID サーバーからのリダイレクトの処理

    ユーザーが外部で認証されると、リダイレクトされたリクエストは検証のために再度 OpenIDConsumer に渡されます。返された OpenIDAuthentication AuthenticationManager に渡され、そこで(通常は)ユーザーの権限をロードするために OpenIDAuthenticationProvider によって処理されます。
    導入:
    2.0
    関連事項:
    OpenIDAuthenticationProvider
    • フィールドの詳細

      • DEFAULT_CLAIMED_IDENTITY_FIELD

        public static final java.lang.String DEFAULT_CLAIMED_IDENTITY_FIELD
        使用すべきではありません。
        関連事項:
        定数フィールド値
    • コンストラクターの詳細

      • OpenIDAuthenticationFilter

        public OpenIDAuthenticationFilter()
        使用すべきではありません。
    • メソッドの詳細

      • afterPropertiesSet

        public void afterPropertiesSet()
        使用すべきではありません。
        次で指定:
        インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
        オーバーライド:
        クラス AbstractAuthenticationProcessingFilterafterPropertiesSet 
      • attemptAuthentication

        public Authentication attemptAuthentication​(javax.servlet.http.HttpServletRequest request,
                                                    javax.servlet.http.HttpServletResponse response)
                                             throws AuthenticationException,
                                                    java.io.IOException
        使用すべきではありません。
        認証には 2 つのフェーズがあります。
        1. 要求された OpenID の最初の送信。コンシューマーから返された URL へのリダイレクトが実行され、null が返されます。
        2. OpenID サーバーからユーザーを認証した後の return_to URL へのリダイレクト
        次で指定:
        クラス AbstractAuthenticationProcessingFilterattemptAuthentication 
        パラメーター:
        request - パラメーターの抽出元および認証の実行元
        response - レスポンス。実装がマルチステージ認証プロセス(OpenID など)の一部としてリダイレクトを行う必要がある場合に必要になる場合があります。
        戻り値:
        認証されたユーザートークン。認証が不完全な場合は null
        例外:
        AuthenticationException - 認証が失敗した場合。
        java.io.IOException
      • lookupRealm

        protected java.lang.String lookupRealm​(java.lang.String returnToUrl)
        使用すべきではありません。
      • buildReturnToUrl

        protected java.lang.String buildReturnToUrl​(javax.servlet.http.HttpServletRequest request)
        使用すべきではありません。
        OpenID サービスプロバイダーに送信される return_to URL を作成します。デフォルトでは、現在のリクエストの URL を返します。
        パラメーター:
        request - このフィルターによって処理されている現在のリクエスト
        戻り値:
        return_to URL。
      • obtainUsername

        protected java.lang.String obtainUsername​(javax.servlet.http.HttpServletRequest req)
        使用すべきではありません。
        送信されたリクエストから claimedIdentityFieldName を読み取ります。
      • setRealmMapping

        public void setRealmMapping​(java.util.Map<java.lang.String,​java.lang.String> realmMapping)
        使用すべきではありません。
        return_to url をレルムにマップします。例:
         https://www.example.com/login/openid -> https://www.example.com/realm
         
        マッピングが提供されていない場合、returnToUrl が解析され、プロトコル、ホスト名、ポートが抽出され、その後にスラッシュが続きます。これは、 https://foo.example.com/login/openid が自動的に http://foo.example.com:80/ になることを意味します
        パラメーター:
        realmMapping - returnToUrl を含む -> レルムマッピング
      • setClaimedIdentityFieldName

        public void setClaimedIdentityFieldName​(java.lang.String claimedIdentityFieldName)
        使用すべきではありません。
        最初のログインフォームから送信された、OpenID ID を含むリクエストパラメーターの名前。
        パラメーター:
        claimedIdentityFieldName - デフォルトは "openid_identifier" です
      • setConsumer

        public void setConsumer​(OpenIDConsumer consumer)
        使用すべきではありません。
      • setReturnToUrlParameters

        public void setReturnToUrlParameters​(java.util.Set<java.lang.String> returnToUrlParameters)
        使用すべきではありません。
        buildReturnToUrl(javax.servlet.http.HttpServletRequest) によってアセンブルされる return_to URL に追加する必要がある識別フィールドとともに送信される追加のパラメーターを指定します。
        パラメーター:
        returnToUrlParameters - パラメーター名のセット。設定されていない場合、デフォルトで、親クラスから取得された RememberMeServices によって使用されるパラメーター名が設定されます(設定されている場合)。