Sha256: 582e3dcd818cfc77797540520045a7fe5c343d4bbee85c9dd6e39c264651e7cc

Contents?: true

Size: 950 Bytes

Versions: 3

Compression:

Stored size: 950 Bytes

Contents

# frozen_string_literal: true

module Doorkeeper
  module GrantsAssertion
    module OmniAuth
      class << self
        def oauth2_wrapper(
          provider:,
          strategy_class:,
          client_id:,
          client_secret:,
          client_options:,
          assertion:,
          expires_at: nil,
          expires_in: nil,
          refresh_token: nil
        )
          app = nil # strategy_class is a rack middleware
          default_options = { name: provider }
          options = default_options.merge(client_options)
          args = [client_id, client_secret, options]
          wrapper = Class.new(strategy_class).new(app, *args)
          wrapper.access_token = OAuth2::AccessToken.new(
            wrapper.client,
            assertion,
            expires_at: expires_at,
            expires_in: expires_in,
            refresh_token: refresh_token
          )
          wrapper
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
doorkeeper-grants_assertion-0.3.1 lib/doorkeeper/grants_assertion/omniauth.rb
doorkeeper-grants_assertion-0.3.0 lib/doorkeeper/grants_assertion/omniauth.rb
doorkeeper-grants_assertion-0.2.0 lib/doorkeeper/grants_assertion/omniauth.rb