Class: OAuth2::Provider::Rack::AuthorizationCodeRequest
- Inherits:
-
Object
- Object
- OAuth2::Provider::Rack::AuthorizationCodeRequest
- Defined in:
- lib/oauth2/provider/rack/authorization_code_request.rb
Instance Method Summary collapse
- #client ⇒ Object
- #client_id ⇒ Object
- #deny! ⇒ Object
- #grant!(resource_owner = nil, authorization_expires_at = nil) ⇒ Object
-
#initialize(params) ⇒ AuthorizationCodeRequest
constructor
A new instance of AuthorizationCodeRequest.
- #invalid_scope! ⇒ Object
- #redirect_uri ⇒ Object
- #redirect_uri_valid? ⇒ Boolean
- #scope ⇒ Object
- #validate! ⇒ Object
Constructor Details
#initialize(params) ⇒ AuthorizationCodeRequest
Returns a new instance of AuthorizationCodeRequest.
3 4 5 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 3 def initialize(params) @params = params end |
Instance Method Details
#client ⇒ Object
48 49 50 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 48 def client @client ||= OAuth2::Provider.client_class.from_param(client_id) end |
#client_id ⇒ Object
44 45 46 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 44 def client_id @params['client_id'] end |
#deny! ⇒ Object
36 37 38 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 36 def deny! throw_response Responses.redirect_with_error('access_denied', redirect_uri) end |
#grant!(resource_owner = nil, authorization_expires_at = nil) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 25 def grant!(resource_owner = nil, = nil) grant = client..create!( :resource_owner => resource_owner, :client => client, :scope => scope, :expires_at => ) code = grant..create! :redirect_uri => redirect_uri throw_response Responses.redirect_with_code(code.code, redirect_uri) end |
#invalid_scope! ⇒ Object
40 41 42 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 40 def invalid_scope! throw_response Responses.redirect_with_error('invalid_scope', redirect_uri) end |
#redirect_uri ⇒ Object
52 53 54 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 52 def redirect_uri @params['redirect_uri'] end |
#redirect_uri_valid? ⇒ Boolean
56 57 58 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 56 def redirect_uri_valid? client && client.allow_redirection?(redirect_uri) end |
#scope ⇒ Object
60 61 62 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 60 def scope @params['scope'] end |
#validate! ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/oauth2/provider/rack/authorization_code_request.rb', line 7 def validate! unless client_id raise OAuth2::Provider::Rack::InvalidRequest, 'No client_id provided' end unless client raise OAuth2::Provider::Rack::InvalidRequest, 'client_id is invalid' end unless redirect_uri raise OAuth2::Provider::Rack::InvalidRequest, 'No redirect_uri provided' end unless redirect_uri_valid? raise OAuth2::Provider::Rack::InvalidRequest, 'Provided redirect_uri is invalid' end end |