class CloudPrint::Auth
Public Class Methods
new(client, options = {})
click to toggle source
# File lib/cloudprint/auth.rb, line 5 def initialize(client, options = {}) @client = client @access_type = options[:access_type] || 'offline' end
Public Instance Methods
generate_token(code, redirect_uri)
click to toggle source
# File lib/cloudprint/auth.rb, line 18 def generate_token(code, redirect_uri) full_token = @client.oauth_client.auth_code.get_token(code, redirect_uri: redirect_uri) @client.refresh_token = full_token.refresh_token end
generate_url(redirect_uri)
click to toggle source
# File lib/cloudprint/auth.rb, line 10 def generate_url(redirect_uri) URI::HTTPS.build( host: 'accounts.google.com', path: '/o/oauth2/v2/auth', query: URI.encode_www_form(url_params(redirect_uri)) ).to_s end
Private Instance Methods
url_params(redirect_uri)
click to toggle source
# File lib/cloudprint/auth.rb, line 25 def url_params(redirect_uri) { response_type: 'code', scope: 'https://www.googleapis.com/auth/cloudprint', client_id: @client.client_id, access_type: @access_type, redirect_uri: redirect_uri } end