def authenticate_request(user_secret, time_skew = (15 * 60))
Mixlib::Authentication.logger.trace "Initializing header auth : #{request.inspect}"
@user_secret = user_secret
@allowed_time_skew = time_skew
begin
parts = parse_signing_description
parts[:algorithm] ||= "sha1"
verify_signature(parts[:algorithm], parts[:version])
verify_timestamp
verify_content_hash
rescue StandardError => se
raise AuthenticationError, "Failed to authenticate user request. Check your client key and clock: #{se.message}", se.backtrace
end
if valid_request?
SignatureResponse.new(user_id)
else
nil
end
end