Module: SimpleApiAuth
- Defined in:
- lib/simple-api-auth.rb,
lib/simple-api-auth/config.rb,
lib/simple-api-auth/signer.rb,
lib/simple-api-auth/request.rb,
lib/simple-api-auth/version.rb,
lib/simple-api-auth/authenticable.rb,
lib/simple-api-auth/authenticator.rb,
lib/simple-api-auth/hashers/sha1_hasher.rb,
lib/simple-api-auth/helpers/auth_helpers.rb,
lib/simple-api-auth/helpers/request_helpers.rb
Defined Under Namespace
Modules: Authenticable, Hasher, Helpers
Classes: Authenticator, Config, Request, Signer
Constant Summary
collapse
- MAJOR =
0
- MINOR =
1
- PATCH =
1
- VERSION =
"#{MAJOR}.#{MINOR}.#{PATCH}"
Class Method Summary
collapse
Class Method Details
.compute_signature(request, secret_key, options = {}) ⇒ Object
33
34
35
36
37
|
# File 'lib/simple-api-auth.rb', line 33
def self.compute_signature(request, secret_key, options = {})
request = SimpleApiAuth::Request.create(request)
signer = SimpleApiAuth.config.signer.new(options)
signer.sign(request, secret_key)
end
|
.config ⇒ Object
11
12
13
|
# File 'lib/simple-api-auth.rb', line 11
def self.config
@config ||= Config.new
end
|
15
16
17
|
# File 'lib/simple-api-auth.rb', line 15
def self.configure
yield config
end
|
23
24
25
26
|
# File 'lib/simple-api-auth.rb', line 23
def self.(request)
request = SimpleApiAuth::Request.create(request)
request.[SimpleApiAuth.config.[:key]]
end
|
.log(severity, message = nil, progname = nil, &block) ⇒ Object
19
20
21
|
# File 'lib/simple-api-auth.rb', line 19
def self.log(severity, message = nil, progname = nil, &block)
config.logger.log(severity, message, progname, &block) unless config.logger.nil?
end
|
.sign!(request, secret_key, options = {}) ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/simple-api-auth.rb', line 39
def self.sign!(request, secret_key, options = {})
= SimpleApiAuth.config.request_fields[:headers]
request.send()[SimpleApiAuth.config.[:time]] = Time.now.utc.iso8601
signature = compute_signature(request, secret_key, options)
authorization_key = SimpleApiAuth.config.[:authorization]
request.send()[authorization_key] = "Signature: #{signature}"
request
end
|
.valid_signature?(request, secret_key, options = {}) ⇒ Boolean
28
29
30
31
|
# File 'lib/simple-api-auth.rb', line 28
def self.valid_signature?(request, secret_key, options = {})
authenticator = Authenticator.new(request, secret_key, options)
authenticator.valid_signature?
end
|