Module: AcademicBenchmarks::Api::Auth
- Defined in:
- lib/academic_benchmarks/api/auth.rb
Class Method Summary collapse
- .auth_query_params(partner_id:, partner_key:, expires:, user_id: "") ⇒ Object
- .expire_time_in(offset) ⇒ Object
- .expire_time_in_10_seconds ⇒ Object
- .expire_time_in_2_hours ⇒ Object
- .message(expires:, user_id: '') ⇒ Object
- .signature_for(partner_key:, message:) ⇒ Object
Class Method Details
.auth_query_params(partner_id:, partner_key:, expires:, user_id: "") ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/academic_benchmarks/api/auth.rb', line 6 def self.auth_query_params(partner_id:, partner_key:, expires:, user_id: "") { "partner.id" => partner_id, "auth.signature" => signature_for( partner_key: partner_key, message: self.(expires: expires, user_id: user_id)), "auth.expires" => expires, "user.id" => user_id } end |
.expire_time_in(offset) ⇒ Object
41 42 43 |
# File 'lib/academic_benchmarks/api/auth.rb', line 41 def self.expire_time_in(offset) Time.now.to_i + offset end |
.expire_time_in_10_seconds ⇒ Object
33 34 35 |
# File 'lib/academic_benchmarks/api/auth.rb', line 33 def self.expire_time_in_10_seconds self.expire_time_in(10.seconds) end |
.expire_time_in_2_hours ⇒ Object
37 38 39 |
# File 'lib/academic_benchmarks/api/auth.rb', line 37 def self.expire_time_in_2_hours self.expire_time_in(2.hours) end |
.message(expires:, user_id: '') ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/academic_benchmarks/api/auth.rb', line 25 def self.(expires:, user_id: '') if user_id.empty? "#{expires}" else "#{expires}\n#{user_id}" end end |
.signature_for(partner_key:, message:) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/academic_benchmarks/api/auth.rb', line 17 def self.signature_for(partner_key:, message:) Base64.encode64(OpenSSL::HMAC.digest( OpenSSL::Digest.new('sha256'), partner_key, )).chomp end |