Module: OoAuth::Signature

Defined in:
lib/oo_auth/signature.rb

Class Method Summary collapse

Class Method Details

.sign!(proxy, credentials, signature_method = OoAuth.signature_method) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/oo_auth/signature.rb', line 6

def sign!(proxy, credentials, signature_method = OoAuth.signature_method)
  signature_method = signature_method.to_s.upcase.sub('_', '-') if signature_method.is_a?(Symbol)
  OoAuth.verify_signature_method!(signature_method)
  
  params = {
    oauth_version: '1.0',
    oauth_nonce: OoAuth.generate_nonce,
    oauth_timestamp: OoAuth.timestamp,
    oauth_signature_method: signature_method,
    oauth_consumer_key: credentials.consumer_key,
    oauth_token: credentials.token
  }

  params[:oauth_signature] = calculate_signature(proxy, credentials, params, signature_method)

  proxy.authorization = authorization_header(params)
end

.valid?(proxy, credentials) ⇒ Boolean

Check signature validity without remembering nonce - DO NOT use to authorize actual requests

Returns:

  • (Boolean)


25
26
27
28
# File 'lib/oo_auth/signature.rb', line 25

def valid?(proxy, credentials)
  verify_timestamp!(proxy) &&
  calculate_signature(proxy, credentials, proxy.oauth_params_without_signature, proxy.signature_method) == proxy.signature
end

.verify!(proxy, credentials) ⇒ Object

Verify signature and remember nonce - use this to authorize actual requests



31
32
33
# File 'lib/oo_auth/signature.rb', line 31

def verify!(proxy, credentials)
  !!(valid?(proxy, credentials) && remember_nonce!(proxy))
end