Sha256: 174606aae63299cbf6abf5d4d6366905f6acdf089ce13a472d35e95dfc0f43d1
Contents?: true
Size: 1.19 KB
Versions: 7
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true module GraphqlDevise module AdditionalControllerMethods extend ActiveSupport::Concern included do attr_accessor :client_id, :token, :resource end def gql_devise_context(*models) { current_resource: authenticate_model(*models), controller: self } end def authenticate_model(*models) models.each do |model| set_resource_by_token(model) return @resource if @resource.present? end nil end def resource_class(resource = nil) # Return the resource class instead of looking for a Devise mapping if resource is already a resource class return resource if resource.respond_to?(:find_by) super end def set_resource_by_token(resource) set_user_by_token(resource) end def build_redirect_headers(access_token, client, redirect_header_options = {}) { DeviseTokenAuth.headers_names[:'access-token'] => access_token, DeviseTokenAuth.headers_names[:client] => client, :config => params[:config], :client_id => client, :token => access_token }.merge(redirect_header_options) end end end
Version data entries
7 entries across 7 versions & 1 rubygems