class GrapeDeviseTokenAuth::TokenAuthorizer
Attributes
data[R]
devise_interface[R]
resource[R]
resource_class[RW]
user[R]
Public Class Methods
new(data, devise_interface)
click to toggle source
# File lib/grape_devise_token_auth/token_authorizer.rb, line 5 def initialize(data, devise_interface) @data = data @devise_interface = devise_interface end
Public Instance Methods
authenticate_from_token(mapping = nil)
click to toggle source
# File lib/grape_devise_token_auth/token_authorizer.rb, line 10 def authenticate_from_token(mapping = nil) @resource_class = devise_interface.mapping_to_class(mapping) return nil unless resource_class # client id is not required client_id = data.client_id || 'default' resource_from_existing_devise_user return resource if correct_resource_type_logged_in? && resource_does_not_have_client_token?(client_id) return nil unless data.token_prerequisites_present? load_user_from_uid return nil unless user_authenticated? user end
Private Instance Methods
correct_resource_type_logged_in?()
click to toggle source
# File lib/grape_devise_token_auth/token_authorizer.rb, line 46 def correct_resource_type_logged_in? resource && resource.class == resource_class end
load_user_from_uid()
click to toggle source
# File lib/grape_devise_token_auth/token_authorizer.rb, line 38 def load_user_from_uid @user = resource_class.find_by_uid(uid) end
resource_does_not_have_client_token?(client_id)
click to toggle source
# File lib/grape_devise_token_auth/token_authorizer.rb, line 50 def resource_does_not_have_client_token?(client_id) resource.tokens[client_id].nil? end
resource_from_existing_devise_user()
click to toggle source
# File lib/grape_devise_token_auth/token_authorizer.rb, line 42 def resource_from_existing_devise_user @resource = @devise_interface.exisiting_warden_user(resource_class) end
user_authenticated?()
click to toggle source
# File lib/grape_devise_token_auth/token_authorizer.rb, line 34 def user_authenticated? user && user.valid_token?(token, client_id) end