class Android::Publisher::Secrets
Attributes
access_token[R]
client_id[R]
client_secret[R]
expires_at[R]
expires_in[R]
flow[R]
id_token[R]
issued_at[R]
javascript_origins[R]
redirect_uris[R]
refresh_token[R]
token_credential_uri[R]
Public Class Methods
load(filename=nil)
click to toggle source
@example
{ "web": { "client_id": "asdfjasdljfasdkjf", "client_secret": "1912308409123890", "redirect_uris": ["https://www.example.com/oauth2callback"], "auth_uri": "https://accounts.android.com/o/oauth2/auth", "token_uri": "https://accounts.android.com/o/oauth2/token" } }
@example
{ "installed": { "client_id": "837647042410-75ifg...usercontent.com", "client_secret":"asdlkfjaskd", "redirect_uris": ["http://localhost", "urn:ietf:oauth:2.0:oob"], "auth_uri": "https://accounts.android.com/o/oauth2/auth", "token_uri": "https://accounts.android.com/o/oauth2/token" } }
# File lib/android/publisher/secrets.rb, line 28 def self.load(filename=nil) while filename == nil search_path ||= File.expand_path('.') if File.exist?(File.join(search_path, 'client_secrets.json')) filename = File.join(search_path, 'client_secrets.json') else raise ArgumentError, 'No client_secrets.json filename supplied ' + 'and/or could not be found in search path.' end end data = File.open(filename, 'r') { |file| JSON.parse(file.read) } return self.new(data) end
new(options={})
click to toggle source
Intialize OAuth client settings.
@param [Hash] options
Parsed client secrets files
# File lib/android/publisher/secrets.rb, line 48 def initialize(options={}) @flow = options[:flow] || options.keys.first.to_s || 'web' fdata = options[@flow] # Client auth config @client_id = fdata[:client_id] || fdata["client_id"] @client_secret = fdata[:client_secret] || fdata["client_secret"] # Redirects info @redirect_uris = fdata[:redirect_uris] || fdata["redirect_uris"] || [fdata[:redirect_uri]] @javascript_origins = fdata[:javascript_origins] || fdata["javascript_origins"]|| [fdata[:javascript_origin]] # Endpoints info @authorization_uri = URI.parse(fdata[:auth_uri] || fdata["auth_uri"] || fdata[:authorization_uri]) @token_credential_uri = URI.parse(fdata[:token_uri] || fdata["token_uri"] || fdata[:token_credential_uri]) # Associated token info @access_token = fdata[:access_token] || fdata["access_token"] @refresh_token = fdata[:refresh_token] || fdata["refresh_token"] @id_token = fdata[:id_token] || fdata["id_token"] @expires_in = fdata[:expires_in] || fdata["expires_in"] @expires_at = fdata[:expires_at] || fdata["expires_at"] @issued_at = fdata[:issued_at] || fdata["issued_at"] end