Sha256: 0e1909d6be559e583627833ba5b2b75ca8fbf5979322c0fbf42b44654a1b3022
Contents?: true
Size: 769 Bytes
Versions: 2
Compression:
Stored size: 769 Bytes
Contents
require 'digest/sha2' module Elastic module SiteSearch # Single sign-on for the Site Search Dashboard. module SSO BASE_URL = 'https://swiftype.com/sso' # Generate a URL that a user can click on to be logged into the Site Search Dashboard. # This requires the +platform_client_id+ and +platform_client_secret+ configuration options be set. def self.url(user_id) timestamp = Time.now.to_i "#{BASE_URL}?user_id=#{user_id}&client_id=#{Elastic::SiteSearch.platform_client_id}×tamp=#{timestamp}&token=#{token(user_id, timestamp)}" end def self.token(user_id, timestamp) Digest::SHA256.hexdigest("#{user_id}:#{Elastic::SiteSearch.platform_client_secret}:#{timestamp}") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
elastic-site-search-3.0.1 | lib/elastic/site-search/sso.rb |
elastic-site-search-2.2.0 | lib/elastic/site-search/sso.rb |