class Google::Auth::ClientId
Representation of an application’s identity for user authorization flows.
Constants
- CLIENT_ID
JSON key for the client ID within an app configuration.
- CLIENT_SECRET
JSON key for the client secret within an app configuration.
- INSTALLED_APP
Toplevel JSON key for the an installed app configuration. Must include client_id and client_secret subkeys if present.
- MISSING_TOP_LEVEL_ELEMENT_ERROR
An error message raised when none of the expected toplevel properties can be found.
- WEB_APP
Toplevel JSON key for the a webapp configuration. Must include client_id and client_secret subkeys if present.
Attributes
Text identifier of the client ID @return [String]
Secret associated with the client ID @return [String]
Public Class Methods
Constructs a Client ID from a JSON file downloaded from the Google
Developers Console.
@param [String, File] file
Path of file to read from
@return [Google::Auth::ClientID]
# File lib/googleauth/client_id.rb, line 81 def self.from_file file raise "File can not be nil." if file.nil? File.open file.to_s do |f| json = f.read config = MultiJson.load json from_hash config end end
Constructs a Client ID from a previously loaded JSON file. The hash structure should match the expected JSON format.
@param [hash] config
Parsed contents of the JSON file
@return [Google::Auth::ClientID]
# File lib/googleauth/client_id.rb, line 98 def self.from_hash config raise "Hash can not be nil." if config.nil? raw_detail = config[INSTALLED_APP] || config[WEB_APP] raise MISSING_TOP_LEVEL_ELEMENT_ERROR if raw_detail.nil? ClientId.new raw_detail[CLIENT_ID], raw_detail[CLIENT_SECRET] end
Initialize the Client ID. Both id and secret must be non-nil.
@param [String] id
Text identifier of the client ID
@param [String] secret
Secret associated with the client ID
@note Direct instantiation is discouraged to avoid embedding IDs
and secrets in source. See {#from_file} to load from `client_secrets.json` files.
# File lib/googleauth/client_id.rb, line 66 def initialize id, secret raise "Client id can not be nil" if id.nil? raise "Client secret can not be nil" if secret.nil? @id = id @secret = secret end