Sha256: 40e409b9a680d99fe9e93ef30cc16ebdf74e40d414303298ad978687b60856a1
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
# load standard ruby libraries require 'logger' require 'uri' require 'json' require "stringio" # load project files require "oauthio/version" require "oauthio/client" require "oauthio/util" module Oauthio @public_key = nil @secret_key = nil @csrf_tokens = [], @oauthd_url = 'https://oauth.io', @oauthd_base = '/auth' @log_level = nil @logger = nil # map to the same values as the standard library's logger LEVEL_DEBUG = Logger::DEBUG LEVEL_ERROR = Logger::ERROR LEVEL_INFO = Logger::INFO class << self attr_accessor :csrf_tokens attr_reader :public_key, :secret_key, :log_level end def self.set_credentials pk, sk @public_key = pk @secret_key = sk end def self.auth_url provider, redirect_url, csrf_token Util.log_debug "[oauthio] Redirect to #{@oauthd_url}#{@oauthd_base}/#{provider} with k=#{@public_key} and redirect_uri=#{redirect_url}" url = endpoint_url + '/' + provider + '?k=' + @public_key opts = {state: csrf_token}.to_json url += '&opts=' + URI.escape("#{opts}", Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")) url += '&redirect_type=server&redirect_uri=' + URI.escape(redirect_url, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")) url end def self.endpoint_url @oauthd_url + @oauthd_base end ##################### # LOGGING # ##################### def self.log_level @log_level end def self.log_level=(val) if !val.nil? && ![LEVEL_DEBUG, LEVEL_ERROR, LEVEL_INFO].include?(val) raise ArgumentError, "log_level should only be set to `Logger::DEBUG`, `Logger::ERROR` or `Logger::INFO`" end @log_level = val end def self.logger @logger end def self.logger=(val) @logger = val end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
oauthio-0.9.0 | lib/oauthio.rb |