Sha256: 45a2f3f283b02a5dc189cca342047398ca6a84e78daca144255ab012263153dd

Contents?: true

Size: 764 Bytes

Versions: 1

Compression:

Stored size: 764 Bytes

Contents

# frozen_string_literal: true

require_relative 'nexaas_id'

OmniAuth.config.add_camelization('nexaas_id_passwordless', 'NexaasIDPasswordless')

module OmniAuth
  module Strategies
    class NexaasIDPasswordless < OmniAuth::Strategies::NexaasID

      option :name, :nexaas_id_passwordless
      option :client_options, site: 'https://id.nexaas.com',
                              authorize_url: '/oauth/passwordless/authorize'

      private

      def callback_url
        uri = URI.parse(super)
        return uri.to_s if uri.query.nil?
        new_query = URI.decode_www_form(uri.query).reject { |query| query[0] == 'passwordless_token' }
        uri.query = new_query.empty? ? nil : URI.encode_www_form(new_query)
        uri.to_s
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
omniauth-nexaas_id-1.0.0 lib/omniauth/strategies/nexaas_id_passwordless.rb