Class: Google::APIClient::ClientSecrets Deprecated
- Inherits:
-
Object
- Object
- Google::APIClient::ClientSecrets
- Defined in:
- lib/google/api_client/client_secrets.rb
Overview
Use google-auth-library-ruby instead
Manages the persistence of client configuration data and secrets. Format inspired by the Google API Python client.
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#authorization_uri ⇒ Object
readonly
Returns the value of attribute authorization_uri.
-
#client_id ⇒ Object
readonly
Returns the value of attribute client_id.
-
#client_secret ⇒ Object
readonly
Returns the value of attribute client_secret.
-
#expires_at ⇒ Object
readonly
Returns the value of attribute expires_at.
-
#expires_in ⇒ Object
readonly
Returns the value of attribute expires_in.
-
#flow ⇒ Object
readonly
Returns the value of attribute flow.
-
#id_token ⇒ Object
readonly
Returns the value of attribute id_token.
-
#issued_at ⇒ Object
readonly
Returns the value of attribute issued_at.
-
#javascript_origins ⇒ Object
readonly
Returns the value of attribute javascript_origins.
-
#redirect_uris ⇒ Object
readonly
Returns the value of attribute redirect_uris.
-
#refresh_token ⇒ Object
readonly
Returns the value of attribute refresh_token.
-
#token_credential_uri ⇒ Object
readonly
Returns the value of attribute token_credential_uri.
Class Method Summary collapse
-
.load(filename = nil) ⇒ Google::APIClient::ClientSecrets
Reads client configuration from a file.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ ClientSecrets
constructor
Initialize OAuth client settings.
- #to_authorization ⇒ Object
- #to_hash ⇒ Object
-
#to_json ⇒ String
Serialize back to the original JSON form.
Constructor Details
#initialize(options = {}) ⇒ ClientSecrets
Initialize OAuth client settings.
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/google/api_client/client_secrets.rb', line 83 def initialize(={}) # Client auth configuration @flow = [:flow] || .keys.first.to_s || 'web' fdata = [@flow.to_sym] || [@flow] @client_id = fdata[:client_id] || fdata["client_id"] @client_secret = fdata[:client_secret] || fdata["client_secret"] @redirect_uris = fdata[:redirect_uris] || fdata["redirect_uris"] @redirect_uris ||= [fdata[:redirect_uri] || fdata["redirect_uri"]].compact @javascript_origins = ( fdata[:javascript_origins] || fdata["javascript_origins"] ) @javascript_origins ||= [fdata[:javascript_origin] || fdata["javascript_origin"]].compact @authorization_uri = fdata[:auth_uri] || fdata["auth_uri"] @authorization_uri ||= fdata[:authorization_uri] @token_credential_uri = fdata[:token_uri] || fdata["token_uri"] @token_credential_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 |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def access_token @access_token end |
#authorization_uri ⇒ Object (readonly)
Returns the value of attribute authorization_uri.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def @authorization_uri end |
#client_id ⇒ Object (readonly)
Returns the value of attribute client_id.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def client_id @client_id end |
#client_secret ⇒ Object (readonly)
Returns the value of attribute client_secret.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def client_secret @client_secret end |
#expires_at ⇒ Object (readonly)
Returns the value of attribute expires_at.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def expires_at @expires_at end |
#expires_in ⇒ Object (readonly)
Returns the value of attribute expires_in.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def expires_in @expires_in end |
#flow ⇒ Object (readonly)
Returns the value of attribute flow.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def flow @flow end |
#id_token ⇒ Object (readonly)
Returns the value of attribute id_token.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def id_token @id_token end |
#issued_at ⇒ Object (readonly)
Returns the value of attribute issued_at.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def issued_at @issued_at end |
#javascript_origins ⇒ Object (readonly)
Returns the value of attribute javascript_origins.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def javascript_origins @javascript_origins end |
#redirect_uris ⇒ Object (readonly)
Returns the value of attribute redirect_uris.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def redirect_uris @redirect_uris end |
#refresh_token ⇒ Object (readonly)
Returns the value of attribute refresh_token.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def refresh_token @refresh_token end |
#token_credential_uri ⇒ Object (readonly)
Returns the value of attribute token_credential_uri.
110 111 112 |
# File 'lib/google/api_client/client_secrets.rb', line 110 def token_credential_uri @token_credential_uri end |
Class Method Details
.load(filename = nil) ⇒ Google::APIClient::ClientSecrets
Reads client configuration from a file
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/google/api_client/client_secrets.rb', line 57 def self.load(filename=nil) if filename && File.directory?(filename) search_path = File.(filename) filename = nil end while filename == nil search_path ||= File.('.') if File.exists?(File.join(search_path, 'client_secrets.json')) filename = File.join(search_path, 'client_secrets.json') elsif search_path == File.('..', search_path) raise ArgumentError, 'No client_secrets.json filename supplied ' + 'and/or could not be found in search path.' else search_path = File.(File.join(search_path, '..')) end end data = File.open(filename, 'r') { |file| JSON.load(file.read) } return self.new(data) end |
Instance Method Details
#to_authorization ⇒ Object
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/google/api_client/client_secrets.rb', line 150 def # NOTE: Do not rely on this default value, as it may change = Signet::OAuth2::Client.new .client_id = self.client_id .client_secret = self.client_secret . = ( self. || 'https://accounts.google.com/o/oauth2/auth' ) .token_credential_uri = ( self.token_credential_uri || 'https://accounts.google.com/o/oauth2/token' ) .redirect_uri = self.redirect_uris.first # These are supported, but unlikely. .access_token = self.access_token .refresh_token = self.refresh_token .id_token = self.id_token .expires_in = self.expires_in .issued_at = self.issued_at if self.issued_at .expires_at = self.expires_at if self.expires_at return end |
#to_hash ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/google/api_client/client_secrets.rb', line 125 def to_hash { self.flow => ({ 'client_id' => self.client_id, 'client_secret' => self.client_secret, 'redirect_uris' => self.redirect_uris, 'javascript_origins' => self.javascript_origins, 'auth_uri' => self., 'token_uri' => self.token_credential_uri, 'access_token' => self.access_token, 'refresh_token' => self.refresh_token, 'id_token' => self.id_token, 'expires_in' => self.expires_in, 'expires_at' => self.expires_at, 'issued_at' => self.issued_at }).inject({}) do |accu, (k, v)| # Prunes empty values from JSON output. unless v == nil || (v.respond_to?(:empty?) && v.empty?) accu[k] = v end accu end } end |
#to_json ⇒ String
Serialize back to the original JSON form
121 122 123 |
# File 'lib/google/api_client/client_secrets.rb', line 121 def to_json return Json.dump(to_hash) end |