class OmniAuth::Strategies::Nordea::Response
Constants
- SIGNED_KEYS
Public Instance Methods
validate!(mac)
click to toggle source
# File lib/omniauth/strategies/nordea/response.rb, line 18 def validate!(mac) received_digest = @hash['B02K_MAC'] h = @hash.dup h['B02K_MAC'] = mac digester = find_digester(ALGORITHM_NAMES[h['B02K_ALG']]) signable_string = SIGNED_KEYS.map { |k| CGI.escape(h[k]) }.join("&") + '&' expected_digest = digester.hexdigest(signable_string).upcase if expected_digest != received_digest raise ValidationError, "Digest mismatch" end self end