summaryrefslogtreecommitdiff
path: root/app/controllers/api/certs_controller.rb
blob: 46a84d3ca031efa7a084117b5e0efc8b06037264 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Api::CertsController < ApiController

  before_filter :require_login, :unless => :anonymous_access_allowed?
  before_filter :require_enabled

  # GET /cert
  # deprecated - we actually create a new cert and that can
  # be reflected in the action. GET /cert will eventually go
  # away and be replaced by POST /cert
  def show
    create
  end

  # POST /cert
  def create
    @cert = ClientCertificate.new(:prefix => service_level.cert_prefix)
    render text: @cert.to_s, content_type: 'text/plain'
  end

  protected

  def require_enabled
    if !current_user.is_anonymous? && !current_user.enabled?
      access_denied
    end
  end

  def service_level
    current_user.effective_service_level
  end
end