Class: OmniAuth::Strategies::WSFed
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::WSFed
- Includes:
- OmniAuth::Strategy
- Defined in:
- lib/omniauth/strategies/wsfed.rb,
lib/omniauth/strategies/wsfed/auth_request.rb,
lib/omniauth/strategies/wsfed/saml_1_token.rb,
lib/omniauth/strategies/wsfed/saml_2_token.rb,
lib/omniauth/strategies/wsfed/xml_security.rb,
lib/omniauth/strategies/wsfed/auth_callback.rb,
lib/omniauth/strategies/wsfed/validation_error.rb,
lib/omniauth/strategies/wsfed/auth_callback_validator.rb
Defined Under Namespace
Modules: XMLSecurity Classes: AuthCallback, AuthCallbackValidator, AuthRequest, SAML1Token, SAML2Token, ValidationError
Constant Summary collapse
- WS_TRUST =
'http://schemas.xmlsoap.org/ws/2005/02/trust'
- WS_POLICY =
'http://schemas.xmlsoap.org/ws/2004/09/policy'
Instance Method Summary collapse
-
#callback_phase ⇒ Object
Parse SAML token…
-
#request_phase ⇒ Object
Issues passive WS-Federation redirect for authentication…
Instance Method Details
#callback_phase ⇒ Object
Parse SAML token…
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/omniauth/strategies/wsfed.rb', line 29 def callback_phase begin validate_callback_params(@request) wsfed_callback = request.params['wresult'] signed_document = OmniAuth::Strategies::WSFed::XMLSecurity::SignedDocument.new(wsfed_callback, ) signed_document.validate(get_fingerprint, false) auth_callback = OmniAuth::Strategies::WSFed::AuthCallback.new(wsfed_callback, ) validator = OmniAuth::Strategies::WSFed::AuthCallbackValidator.new(auth_callback, ) validator.validate! @name_id = auth_callback.name_id @claims = auth_callback.attributes super rescue ArgumentError => e fail!(:invalid_response, e) rescue OmniAuth::Strategies::WSFed::ValidationError => e fail!(:invalid_authn_token, e) end end |
#request_phase ⇒ Object
Issues passive WS-Federation redirect for authentication…
21 22 23 24 25 26 |
# File 'lib/omniauth/strategies/wsfed.rb', line 21 def request_phase settings = .dup settings[:reply] ||= callback_url auth_request = OmniAuth::Strategies::WSFed::AuthRequest.new(settings, :whr => @request.params['whr']) redirect(auth_request.redirect_url) end |