Sha256: 05ff78537bf2070f7d6a895168dc17f93da5484a5f88d9be04f7b5cdc8cce929
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
module OpenIDConnect class Client < Rack::OAuth2::Client attr_optional :introspection_endpoint, :user_info_endpoint def initialize(attributes = {}) super @user_info_endpoint ||= '/user_info' @introspection_endpoint ||= '/id_tokens' end def authorization_uri(params = {}) params[:response_type] ||= :token params[:scope] = setup_required_scope params[:scope] Rack::OAuth2::Util.redirect_uri absolute_uri_for(authorization_endpoint), :query, params.merge( :client_id => self.identifier, :redirect_uri => self.redirect_uri ) end def access_token! token = super AccessToken.new token.token_response.merge(:client => self) end def introspection_uri absolute_uri_for introspection_endpoint end def user_info_uri absolute_uri_for user_info_endpoint end private def setup_required_scope(scopes) scopes = Array(scopes).join(' ').split(' ') if scopes.include?('openid') scopes else (scopes << 'openid') end.join(' ') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
openid_connect-0.0.4 | lib/openid_connect/client.rb |