Sha256: 8b37e716ea6c2cd44c34a8abd91a5c147d6086ef203f127dad592274c453aa8e
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
require 'faraday-http-cache' module RailsSso class AccessToken attr_reader :token, :refresh_token delegate :get, :patch, :post, :put, :delete, to: :access_token def self.from_access_token(access_token) new(access_token.token, access_token.refresh_token) end def initialize(token, refresh_token) @token, @refresh_token = token, refresh_token end def refresh! self.class.from_access_token(access_token.refresh!) end def access_token @access_token ||= OAuth2::AccessToken.new(client, token, { refresh_token: refresh_token }) end private def client strategy.client.tap do |c| if RailsSso.use_cache c.options[:connection_build] = Proc.new do |conn| conn.use :http_cache, store: Rails.cache, logger: Rails.logger, shared_cache: false conn.adapter Faraday.default_adapter end end end end def strategy @strategy ||= strategy_class.new(nil, RailsSso.provider_key, RailsSso.provider_secret) end def strategy_class "OmniAuth::Strategies::#{RailsSso.provider_name.classify}".constantize end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rails_sso-0.1.1 | lib/rails_sso/access_token.rb |
rails_sso-0.1.0 | lib/rails_sso/access_token.rb |