Module: Signauth::Signature::Version1
Instance Method Summary collapse
Instance Method Details
#add_authorization!(credentials) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/signauth/signature/version_1.rb', line 6 def (credentials) params['access_key_id'] = credentials.access_key_id params['signature_version'] = version params['signature_method'] ||= 'HMAC-SHA-256' params.delete('signature') params['signature'] = signature(credentials) params end |
#authenticate(&block) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/signauth/signature/version_1.rb', line 16 def authenticate(&block) raise ArgumentError, "Block required" unless block_given? access_key_id = params['access_key_id'] raise Erros::MissingAccessKeyId, 'must provide access_key_id parameter' if access_key_id.nil? credentials = yield(access_key_id) begin given = params.delete('signature') validate_signature(given, signature(credentials)) ensure params['signature'] = given end true end |