Sha256: f50a9de7a3206cd76c8b11ac4407fd11bfa3272324e3770b7fd680ab53709e2a

Contents?: true

Size: 575 Bytes

Versions: 1

Compression:

Stored size: 575 Bytes

Contents

module RapidRack
  module DefaultReceiver
    def receive(env, claims)
      attrs = map_attributes(env, claims['https://aaf.edu.au/attributes'])
      store_id(env, subject(env, attrs).id)
      finish(env)
    end

    def map_attributes(_env, attrs)
      attrs
    end

    def store_id(env, id)
      env['rack.session']['subject_id'] = id
    end

    def finish(_env)
      redirect_to('/')
    end

    def redirect_to(url)
      [302, { 'Location' => url }, []]
    end

    def logout(env)
      env['rack.session'].destroy
      redirect_to('/')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rapid-rack-0.3.0 lib/rapid_rack/default_receiver.rb