Module: Devise::Oauth2::Authorization
- Extended by:
- ActiveSupport::Concern
- Included in:
- AuthorizationsController
- Defined in:
- app/controllers/devise/oauth2/authorization.rb
Instance Method Summary collapse
- #access_token ⇒ Object
- #access_token? ⇒ Boolean
- #access_token_signed_in? ⇒ Boolean
- #auth_code ⇒ Object
- #authenticate_anyone! ⇒ Object
- #client_credentials ⇒ Object
- #client_credentials? ⇒ Boolean
- #client_id ⇒ Object
- #client_id? ⇒ Boolean
- #client_secret ⇒ Object
- #client_secret? ⇒ Boolean
- #code? ⇒ Boolean
- #current_access_token ⇒ Object
- #current_anything ⇒ Object
- #current_oauth2_client(opts: { secure: false }) ⇒ Object
- #devise_scope_name ⇒ Object
- #oauth2_client_signed_in? ⇒ Boolean
- #refresh_token ⇒ Object
- #refresh_token? ⇒ Boolean
- #valid_access_token? ⇒ Boolean
Instance Method Details
#access_token ⇒ Object
68 69 70 71 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 68 def access_token return params[:access_token] if params[:access_token] request.headers['HTTP_AUTHORIZATION'].split(' ')[-1] if request.headers['HTTP_AUTHORIZATION'] end |
#access_token? ⇒ Boolean
73 74 75 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 73 def access_token? !!access_token end |
#access_token_signed_in? ⇒ Boolean
24 25 26 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 24 def access_token_signed_in? !!@access_token end |
#auth_code ⇒ Object
52 53 54 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 52 def auth_code params[:code] end |
#authenticate_anyone! ⇒ Object
77 78 79 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 77 def authenticate_anyone! render json: { error: 'Valid user credentials must be submitted with this request.' }, status: 401 unless current_anything || params[:refresh_token] || params[:code] end |
#client_credentials ⇒ Object
28 29 30 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 28 def client_credentials client_id? || client_secret? end |
#client_credentials? ⇒ Boolean
32 33 34 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 32 def client_credentials? !!client_credentials end |
#client_id ⇒ Object
44 45 46 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 44 def client_id params[:client_id] if params[:client_id] end |
#client_id? ⇒ Boolean
48 49 50 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 48 def client_id? !!client_id end |
#client_secret ⇒ Object
36 37 38 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 36 def client_secret params[:client_secret] end |
#client_secret? ⇒ Boolean
40 41 42 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 40 def client_secret? !!client_secret end |
#code? ⇒ Boolean
56 57 58 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 56 def code? !!auth_code end |
#current_access_token ⇒ Object
12 13 14 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 12 def current_access_token @access_token ||= AccessToken.find_by(token: access_token) if access_token? end |
#current_anything ⇒ Object
90 91 92 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 90 def current_anything send "current_#{devise_scope_name}" end |
#current_oauth2_client(opts: { secure: false }) ⇒ Object
6 7 8 9 10 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 6 def current_oauth2_client(opts: { secure: false }) return @secure_client ||= Client.find_by(secret: client_secret) if opts[:secure] return @secure_client ||= Client.find_by(id: current_access_token.client_id) if valid_access_token? @client ||= Client.find_by('identifier = :client_id OR secret = :secret', client_id: client_id, secret: client_secret) if client_credentials? end |
#devise_scope_name ⇒ Object
81 82 83 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 81 def devise_scope_name Rails.application.config.devise_oauth2_rails4.devise_scope end |
#oauth2_client_signed_in? ⇒ Boolean
20 21 22 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 20 def oauth2_client_signed_in? !!@client end |
#refresh_token ⇒ Object
60 61 62 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 60 def refresh_token params[:refresh_token] if params[:refresh_token] end |
#refresh_token? ⇒ Boolean
64 65 66 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 64 def refresh_token? !!refresh_token end |
#valid_access_token? ⇒ Boolean
16 17 18 |
# File 'app/controllers/devise/oauth2/authorization.rb', line 16 def valid_access_token? !!current_access_token end |