# File lib/casclient/frameworks/rails/cas_proxy_callback_controller.rb, line 10
  def receive_pgt
        #FIXME: these checks don't work because REMOTE_HOST doesn't work consistently under all web servers (for example it doesn't work at all under mongrel)
        #                              ... need to find a reliable way to check if the request came through from a reverse HTTPS proxy -- until then I'm disabling this check
    #render_error "PGTs can be received only via HTTPS or local connections." and return unless
    #  request.ssl? or request.env['REMOTE_HOST'] == "127.0.0.1"

    pgtIou = params['pgtIou']
    
    # CAS Protocol spec says that the argument should be called 'pgt', but the JA-SIG CAS server seems to use pgtId.
    # To accomodate this, we check for both parameters, although 'pgt' takes precedence over 'pgtId'.
    pgtId = params['pgt'] || params['pgtId']
    
    # We need to render a response with HTTP status code 200 when no pgtIou/pgtId is specified because CAS seems first
    # call the action without any parameters (maybe to check if the server responds correctly)
    render :text => "Okay, the server is up, but please specify a pgtIou and pgtId." and return unless pgtIou and pgtId
    
    # TODO: pstore contents should probably be encrypted...
    pstore = open_pstore
    
    pstore.transaction do
      pstore[pgtIou] = pgtId
    end
    
    render :text => "PGT received. Thank you!" and return
  end