Files

OAuth::Controllers::ApplicationControllerMethods

Protected Instance Methods

current_client_application() click to toggle source
    # File lib/oauth/controllers/application_controller_methods.rb, line 12
12:       def current_client_application
13:         @current_client_application
14:       end
current_token() click to toggle source
    # File lib/oauth/controllers/application_controller_methods.rb, line 8
 8:       def current_token
 9:         @current_token
10:       end
invalid_oauth_response(code=401,message="Invalid OAuth Request") click to toggle source
    # File lib/oauth/controllers/application_controller_methods.rb, line 75
75:       def invalid_oauth_response(code=401,message="Invalid OAuth Request")
76:         render :text => message, :status => code
77:       end
login_or_oauth_required() click to toggle source

This requies that you have an acts_as_authenticated compatible authentication plugin installed

    # File lib/oauth/controllers/application_controller_methods.rb, line 39
39:       def login_or_oauth_required
40:         if oauthenticate
41:           if authorized?
42:             return true
43:           else
44:             invalid_oauth_response
45:           end
46:         else
47:           login_required
48:         end
49:       end
oauth?() click to toggle source
    # File lib/oauth/controllers/application_controller_methods.rb, line 21
21:       def oauth?
22:         current_token!=nil
23:       end
oauth_required() click to toggle source

use in a before_filter

    # File lib/oauth/controllers/application_controller_methods.rb, line 26
26:       def oauth_required
27:         if oauthenticate
28:           if authorized?
29:             return true
30:           else
31:             invalid_oauth_response
32:           end
33:         else          
34:           invalid_oauth_response
35:         end
36:       end
oauthenticate() click to toggle source
    # File lib/oauth/controllers/application_controller_methods.rb, line 16
16:       def oauthenticate
17:         verified=verify_oauth_signature 
18:         return verified && current_token.is_a?(::AccessToken)
19:       end
verify_oauth_consumer_signature() click to toggle source

verifies a request token request

    # File lib/oauth/controllers/application_controller_methods.rb, line 53
53:       def verify_oauth_consumer_signature
54:         begin
55:           valid = ClientApplication.verify_request(request) do |request_proxy|
56:             @current_client_application = ClientApplication.find_by_key(request_proxy.consumer_key)
57:             
58:             # Store this temporarily in client_application object for use in request token generation 
59:             @current_client_application.token_callback_url=request_proxy.oauth_callback if request_proxy.oauth_callback
60:             
61:             # return the token secret and the consumer secret
62:             [nil, @current_client_application.secret]
63:           end
64:         rescue
65:           valid=false
66:         end
67: 
68:         invalid_oauth_response unless valid
69:       end
verify_oauth_request_token() click to toggle source
    # File lib/oauth/controllers/application_controller_methods.rb, line 71
71:       def verify_oauth_request_token
72:         verify_oauth_signature && current_token.is_a?(::RequestToken)
73:       end

Private Instance Methods

current_token=(token) click to toggle source
    # File lib/oauth/controllers/application_controller_methods.rb, line 81
81:       def current_token=(token)
82:         @current_token=token
83:         if @current_token
84:           @current_user=@current_token.user
85:           @current_client_application=@current_token.client_application 
86:         end
87:         @current_token
88:       end
verify_oauth_signature() click to toggle source

Implement this for your own application using app-specific models

     # File lib/oauth/controllers/application_controller_methods.rb, line 91
 91:       def verify_oauth_signature
 92:         begin
 93:           valid = ClientApplication.verify_request(request) do |request_proxy|
 94:             self.current_token = ClientApplication.find_token(request_proxy.token)
 95:             if self.current_token.respond_to?(:provided_oauth_verifier=)
 96:               self.current_token.provided_oauth_verifier=request_proxy.oauth_verifier 
 97:             end
 98:             # return the token secret and the consumer secret
 99:             [(current_token.nil? ? nil : current_token.secret), (current_client_application.nil? ? nil : current_client_application.secret)]
100:           end
101:           # reset @current_user to clear state for restful_...._authentication
102:           @current_user = nil if (!valid)
103:           valid
104:         rescue
105:           false
106:         end
107:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.