class MagentaSSO::Request
A Magenta authentication request.
Attributes
callback_url[RW]
client_id[RW]
client_secret[RW]
nonce[RW]
scopes[RW]
Public Class Methods
new(client_id, client_secret, nonce, scopes, callback_url)
click to toggle source
# File lib/magentasso.rb, line 47 def initialize(client_id, client_secret, nonce, scopes, callback_url) @client_id = client_id @client_secret = client_secret @nonce = nonce || SecureRandom.random_number(9_999_999) @scopes = [scopes].flatten @callback_url = callback_url end
verify(payload, signature, client_secret)
click to toggle source
# File lib/magentasso.rb, line 55 def self.verify(payload, signature, client_secret) payload = ::MagentaSSO.verify_and_decode(payload, signature, client_secret) new( payload["client_id"], client_secret, payload["nonce"], payload["scopes"], payload["callback_url"] ) end
Public Instance Methods
query_params()
click to toggle source
# File lib/magentasso.rb, line 78 def query_params payload, signature = sign { client: @client_id, payload: payload, signature: signature } end
sign()
click to toggle source
# File lib/magentasso.rb, line 67 def sign payload = { client_id: @client_id, nonce: @nonce, scopes: @scopes, callback_url: @callback_url } ::MagentaSSO.encode_and_sign(payload, @client_secret) end