クラス OpenIDAuthenticationFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
-
- org.springframework.security.openid.OpenIDAuthenticationFilter
- 実装されたすべてのインターフェース:
javax.servlet.Filter
、org.springframework.beans.factory.Aware
、org.springframework.beans.factory.BeanNameAware
、org.springframework.beans.factory.DisposableBean
、org.springframework.beans.factory.InitializingBean
、org.springframework.context.ApplicationEventPublisherAware
、org.springframework.context.EnvironmentAware
、org.springframework.context.MessageSourceAware
、org.springframework.core.env.EnvironmentCapable
、org.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
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static java.lang.String
DEFAULT_CLAIMED_IDENTITY_FIELD
使用すべきではありません。クラス org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter から継承されたフィールド
authenticationDetailsSource, eventPublisher, messages
コンストラクターのサマリー
コンストラクター コンストラクター 説明 OpenIDAuthenticationFilter()
使用すべきではありません。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 void
afterPropertiesSet()
使用すべきではありません。Authentication
attemptAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
使用すべきではありません。認証には 2 つのフェーズがあります。protected java.lang.String
buildReturnToUrl(javax.servlet.http.HttpServletRequest request)
使用すべきではありません。OpenID サービスプロバイダーに送信される return_to URL を作成します。protected java.lang.String
lookupRealm(java.lang.String returnToUrl)
使用すべきではありません。protected java.lang.String
obtainUsername(javax.servlet.http.HttpServletRequest req)
使用すべきではありません。送信されたリクエストから claimedIdentityFieldName を読み取ります。void
setClaimedIdentityFieldName(java.lang.String claimedIdentityFieldName)
使用すべきではありません。最初のログインフォームから送信された、OpenID ID を含むリクエストパラメーターの名前。void
setConsumer(OpenIDConsumer consumer)
使用すべきではありません。void
setRealmMapping(java.util.Map<java.lang.String,java.lang.String> realmMapping)
使用すべきではありません。return_to url をレルムにマップします。例:void
setReturnToUrlParameters(java.util.Set<java.lang.String> returnToUrlParameters)
使用すべきではありません。buildReturnToUrl(javax.servlet.http.HttpServletRequest)
によってアセンブルされるreturn_to
URL に追加する必要がある識別フィールドとともに送信される追加のパラメーターを指定します。クラス org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter から継承されたメソッド
doFilter, getAllowSessionCreation, getAuthenticationManager, getFailureHandler, getRememberMeServices, getSuccessHandler, requiresAuthentication, setAllowSessionCreation, setApplicationEventPublisher, setAuthenticationDetailsSource, setAuthenticationFailureHandler, setAuthenticationManager, setAuthenticationSuccessHandler, setContinueChainBeforeSuccessfulAuthentication, setFilterProcessesUrl, setMessageSource, setRememberMeServices, setRequiresAuthenticationRequestMatcher, setSecurityContextRepository, setSessionAuthenticationStrategy, successfulAuthentication, unsuccessfulAuthentication
フィールドの詳細
DEFAULT_CLAIMED_IDENTITY_FIELD
public static final java.lang.String DEFAULT_CLAIMED_IDENTITY_FIELD
使用すべきではありません。- 関連事項:
- 定数フィールド値
メソッドの詳細
afterPropertiesSet
public void afterPropertiesSet()
使用すべきではありません。- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
- オーバーライド:
- クラス
AbstractAuthenticationProcessingFilter
のafterPropertiesSet
attemptAuthentication
public Authentication attemptAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws AuthenticationException, java.io.IOException
使用すべきではありません。認証には 2 つのフェーズがあります。- 要求された OpenID の最初の送信。コンシューマーから返された URL へのリダイレクトが実行され、null が返されます。
- OpenID サーバーからユーザーを認証した後の return_to URL へのリダイレクト
- 次で指定:
- クラス
AbstractAuthenticationProcessingFilter
のattemptAuthentication
- パラメーター:
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
によって使用されるパラメーター名が設定されます(設定されている場合)。