Add SAML metadata controller

pull/11202/head
Javier Torres 8 years ago
parent bc7b0644aa
commit f5b341af23

@ -0,0 +1,26 @@
# encoding: UTF-8
require_dependency 'carto/controller_helper'
module Carto
class SamlController < ApplicationController
ssl_required :metadata
before_filter :load_organization
# Callback from Github Oauth
def metadata
render(xml: Carto::SamlService.new(@organization).saml_metadata)
end
private
def load_organization
@organization = Carto::Organization.where(name: CartoDB.extract_subdomain(request)).first
raise LoadError.new('Organization does not exist') unless @organization
end
def ensure_saml_enabled
raise UnauthorizedError.new('SAML not enabled') unless @organization.auth_saml_enabled?
end
end
end

@ -71,6 +71,7 @@ CartoDB::Application.routes.draw do
end
get '/github' => 'github#github', as: :github
get '/saml/metadata' => 'saml#metadata'
end
# Internally, some of this methods will forcibly rewrite to the org-url if user belongs to an organization

Loading…
Cancel
Save