Sha256: 9328e919addc24b8495979b75c545df969fbbe7584baee9b3b31f441b4bde243

Contents?: true

Size: 1.29 KB

Versions: 32

Compression:

Stored size: 1.29 KB

Contents

class Maestrano::Auth::SamlController < Maestrano::Rails::SamlBaseController
  def init
    session[:settings] = !!params[:settings]
    super
  end

  #== POST '/maestrano/auth/saml/consume'
  # Final phase of the Single Sign-On handshake. Find or create
  # the required resources (user and group) and sign the user
  # in
  def consume
    params[:tenant] ||= 'default'
    user = Maestrano::Connector::Rails::User.find_or_create_for_maestrano(user_auth_hash, params[:tenant])
    organization = Maestrano::Connector::Rails::Organization.find_or_create_for_maestrano(group_auth_hash, params[:tenant])

    Maestrano::Connector::Rails::ConnectorLogger.log('info', organization, "user authentication, user_uid=\"#{user.uid}\"")

    if user && organization
      organization.add_member(user) unless organization.member?(user)

      session[:tenant] = params[:tenant]
      session[:uid] = user.uid
      session[:org_uid] = organization.uid
      session[:"role_#{organization.uid}"] = user_group_rel_hash[:role]
    end

    if session[:settings]
      session.delete(:settings)
      redirect_to main_app.root_path
    elsif current_organization&.oauth_uid && current_organization&.sync_enabled
      redirect_to main_app.home_redirect_to_external_path
    else
      redirect_to main_app.root_path
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
maestrano-connector-rails-2.3.6 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.3.5 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.3.4 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.3.3 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.3.2 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.3.1 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.3.0 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.2.1 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.2.0 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.1.3 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.1.2 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.1.1 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.1.0 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.0.2.pre.RC12 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.0.2.pre.RC11 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.0.2.pre.RC10 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.0.2.pre.RC8 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.0.2.pre.RC9 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.0.2.pre.RC7 app/controllers/maestrano/auth/saml_controller.rb
maestrano-connector-rails-2.0.2.pre.RC6 app/controllers/maestrano/auth/saml_controller.rb