class OmniAuth::Strategies::Seb
Constants
- AUTH_SERVICE
Public Instance Methods
callback_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/seb.rb, line 39 def callback_phase begin pub_crt = OpenSSL::X509::Certificate.new(options.public_crt).public_key rescue => e return fail!(:public_crt_load_err, e) end if request.params['IB_SND_ID'] != 'SEBUB' return fail!(:invalid_response_snd_id_err) end if request.params['IB_SERVICE'] != '0001' return fail!(:invalid_response_service_err) end message = OmniAuth::Strategies::Seb::Response.new(request.params) message.validate!(pub_crt) super rescue ValidationError => e fail!(:invalid_response_crc, e) end
request_phase()
click to toggle source
# File lib/omniauth/strategies/seb.rb, line 62 def request_phase fail!(:invalid_snd_id) if options.snd_id.nil? message = OmniAuth::Strategies::Seb::Message.new( 'IB_SND_ID': options.snd_id, 'IB_SERVICE': AUTH_SERVICE, 'IB_LANG': 'LAT' ) # Build redirect form form = OmniAuth::Form.new(title: I18n.t('omniauth.seb.please_wait'), url: options.site) message.each_pair do |k,v| form.html "<input type=\"hidden\" name=\"#{k}\" value=\"#{v}\" />" end form.button I18n.t('omniauth.seb.click_here_if_not_redirected') form.instance_variable_set('@html', form.to_html.gsub('</form>', '</form><script type="text/javascript">document.forms[0].submit();</script>')) form.to_response end