Class: Devise::Strategies::Oauth2PasswordGrantTypeStrategy

Inherits:
Oauth2GrantTypeStrategy show all
Defined in:
lib/devise/oauth2_providable/strategies/oauth2_password_grant_type_strategy.rb

Instance Method Summary collapse

Methods inherited from Oauth2GrantTypeStrategy

#authenticate!, #oauth_error!, #store?, #valid?

Instance Method Details

#authenticate_grant_type(client) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/devise/oauth2_providable/strategies/oauth2_password_grant_type_strategy.rb', line 10

def authenticate_grant_type(client)
  keys = mapping.to.authentication_keys
  resource = mapping.to.find_for_database_authentication(keys.first => params[:username])
  if validate(resource) { resource.valid_password?(params[:password]) }
    success! resource
  else
    keys_string = keys.join(I18n.translate(:"support.array.words_connector"))
    message = resource ? resource.unauthenticated_message : :invalid
    oauth_error! :invalid_grant, I18n.t("devise.failure.#{message}", authentication_keys: keys_string)
  end
end

#grant_typeObject



6
7
8
# File 'lib/devise/oauth2_providable/strategies/oauth2_password_grant_type_strategy.rb', line 6

def grant_type
  'password'
end