class HuaweiCloudSass::Auth
Public Class Methods
new(key)
click to toggle source
# File lib/huawei_cloud_sass/auth.rb, line 7 def initialize(key) @key = key end
Public Instance Methods
generate_auth_token(params)
click to toggle source
# File lib/huawei_cloud_sass/auth.rb, line 15 def generate_auth_token(params) params.delete(:authToken) data = params.keys.sort.map { |k| "#{k}=#{params[k]}" }.join("&") digest = OpenSSL::Digest.new('sha256') body = OpenSSL::HMAC.digest(digest, "#{@key}#{params[:timeStamp]}", data) Base64.strict_encode64 body end
is_valid_request?(params)
click to toggle source
# File lib/huawei_cloud_sass/auth.rb, line 11 def is_valid_request?(params) params[:authToken] == generate_auth_token(params) end