module Oauthio

Constants

LEVEL_DEBUG

map to the same values as the standard library's logger

LEVEL_ERROR
LEVEL_INFO
VERSION

Attributes

csrf_tokens[RW]
log_level[R]
public_key[R]
secret_key[R]

Public Class Methods

auth_url(provider, redirect_url, csrf_token) click to toggle source
# File lib/oauthio.rb, line 38
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
endpoint_url() click to toggle source
# File lib/oauthio.rb, line 51
def self.endpoint_url
  @oauthd_url + @oauthd_base
end
log_level=(val) click to toggle source
# File lib/oauthio.rb, line 63
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
logger() click to toggle source
# File lib/oauthio.rb, line 70
def self.logger
  @logger
end
logger=(val) click to toggle source
# File lib/oauthio.rb, line 74
def self.logger=(val)
  @logger = val
end
set_credentials(pk, sk) click to toggle source
# File lib/oauthio.rb, line 33
def self.set_credentials pk, sk
  @public_key = pk
  @secret_key = sk
end