Class: GDS::SSO::FailureApp
- Inherits:
-
ActionController::Metal
- Object
- ActionController::Metal
- GDS::SSO::FailureApp
- Includes:
- AbstractController::Rendering, ActionController::Redirecting, ActionController::Renderers, ActionController::Rendering
- Defined in:
- lib/gds-sso/failure_app.rb
Constant Summary collapse
- MAX_RETURN_TO_PATH_SIZE =
2048
Class Method Summary collapse
Instance Method Summary collapse
- #api_invalid_token ⇒ Object
- #api_missing_token ⇒ Object
- #redirect ⇒ Object
- #store_location! ⇒ Object
Class Method Details
.call(env) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/gds-sso/failure_app.rb', line 17 def self.call(env) if env["gds_sso.api_call"] if env["gds_sso.api_bearer_token_present"] action(:api_invalid_token).call(env) else action(:api_missing_token).call(env) end else action(:redirect).call(env) end end |
Instance Method Details
#api_invalid_token ⇒ Object
34 35 36 |
# File 'lib/gds-sso/failure_app.rb', line 34 def api_invalid_token ("Bearer token does not appear to be valid", "invalid_token") end |
#api_missing_token ⇒ Object
38 39 40 |
# File 'lib/gds-sso/failure_app.rb', line 38 def api_missing_token ("No bearer token was provided", "invalid_request") end |
#redirect ⇒ Object
29 30 31 32 |
# File 'lib/gds-sso/failure_app.rb', line 29 def redirect store_location! redirect_to "/auth/gds" end |
#store_location! ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/gds-sso/failure_app.rb', line 42 def store_location! return unless request.get? attempted_path = request.env["warden.options"][:attempted_path] return if attempted_path.bytesize > MAX_RETURN_TO_PATH_SIZE session["return_to"] = attempted_path end |