Sha256: 71e76d915a8e180482f1a5e3ed278d062a0ba1a27cef2e2dfb738c6111c01006

Contents?: true

Size: 548 Bytes

Versions: 5

Compression:

Stored size: 548 Bytes

Contents

module RailsSso
  class SsoStrategy < ::Warden::Strategies::Base
    def store?
      false
    end

    def valid?
      session[:access_token].present? || access_token_mock
    end

    def authenticate!
      user = env["sso"].fetch_user_data

      case
      when user.nil?
        fail! "strategies.sso.failed"
      else
        success! user
      end
    end

    private

    def access_token_mock
      RailsSso.config.access_token_mock if RailsSso.config.test_mode
    end
  end
end

Warden::Strategies.add(:sso, RailsSso::SsoStrategy)

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails_sso-0.7.5 lib/rails_sso/sso_strategy.rb
rails_sso-0.7.4 lib/rails_sso/sso_strategy.rb
rails_sso-0.7.3 lib/rails_sso/sso_strategy.rb
rails_sso-0.7.2 lib/rails_sso/sso_strategy.rb
rails_sso-0.7.1 lib/rails_sso/sso_strategy.rb