166 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| # Copyright 2020 Google LLC
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| #      http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| 
 | |
| require 'date'
 | |
| require 'google/apis/core/base_service'
 | |
| require 'google/apis/core/json_representation'
 | |
| require 'google/apis/core/hashable'
 | |
| require 'google/apis/errors'
 | |
| 
 | |
| module Google
 | |
|   module Apis
 | |
|     module Oauth2V2
 | |
|       
 | |
|       # 
 | |
|       class Tokeninfo
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Who is the intended audience for this token. In general the same as issued_to.
 | |
|         # Corresponds to the JSON property `audience`
 | |
|         # @return [String]
 | |
|         attr_accessor :audience
 | |
|       
 | |
|         # The email address of the user. Present only if the email scope is present in
 | |
|         # the request.
 | |
|         # Corresponds to the JSON property `email`
 | |
|         # @return [String]
 | |
|         attr_accessor :email
 | |
|       
 | |
|         # The expiry time of the token, as number of seconds left until expiry.
 | |
|         # Corresponds to the JSON property `expires_in`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :expires_in
 | |
|       
 | |
|         # To whom was the token issued to. In general the same as audience.
 | |
|         # Corresponds to the JSON property `issued_to`
 | |
|         # @return [String]
 | |
|         attr_accessor :issued_to
 | |
|       
 | |
|         # The space separated list of scopes granted to this token.
 | |
|         # Corresponds to the JSON property `scope`
 | |
|         # @return [String]
 | |
|         attr_accessor :scope
 | |
|       
 | |
|         # The obfuscated user id.
 | |
|         # Corresponds to the JSON property `user_id`
 | |
|         # @return [String]
 | |
|         attr_accessor :user_id
 | |
|       
 | |
|         # Boolean flag which is true if the email address is verified. Present only if
 | |
|         # the email scope is present in the request.
 | |
|         # Corresponds to the JSON property `verified_email`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :verified_email
 | |
|         alias_method :verified_email?, :verified_email
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @audience = args[:audience] if args.key?(:audience)
 | |
|           @email = args[:email] if args.key?(:email)
 | |
|           @expires_in = args[:expires_in] if args.key?(:expires_in)
 | |
|           @issued_to = args[:issued_to] if args.key?(:issued_to)
 | |
|           @scope = args[:scope] if args.key?(:scope)
 | |
|           @user_id = args[:user_id] if args.key?(:user_id)
 | |
|           @verified_email = args[:verified_email] if args.key?(:verified_email)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class Userinfo
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The user's email address.
 | |
|         # Corresponds to the JSON property `email`
 | |
|         # @return [String]
 | |
|         attr_accessor :email
 | |
|       
 | |
|         # The user's last name.
 | |
|         # Corresponds to the JSON property `family_name`
 | |
|         # @return [String]
 | |
|         attr_accessor :family_name
 | |
|       
 | |
|         # The user's gender.
 | |
|         # Corresponds to the JSON property `gender`
 | |
|         # @return [String]
 | |
|         attr_accessor :gender
 | |
|       
 | |
|         # The user's first name.
 | |
|         # Corresponds to the JSON property `given_name`
 | |
|         # @return [String]
 | |
|         attr_accessor :given_name
 | |
|       
 | |
|         # The hosted domain e.g. example.com if the user is Google apps user.
 | |
|         # Corresponds to the JSON property `hd`
 | |
|         # @return [String]
 | |
|         attr_accessor :hd
 | |
|       
 | |
|         # The obfuscated ID of the user.
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [String]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         # URL of the profile page.
 | |
|         # Corresponds to the JSON property `link`
 | |
|         # @return [String]
 | |
|         attr_accessor :link
 | |
|       
 | |
|         # The user's preferred locale.
 | |
|         # Corresponds to the JSON property `locale`
 | |
|         # @return [String]
 | |
|         attr_accessor :locale
 | |
|       
 | |
|         # The user's full name.
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # URL of the user's picture image.
 | |
|         # Corresponds to the JSON property `picture`
 | |
|         # @return [String]
 | |
|         attr_accessor :picture
 | |
|       
 | |
|         # Boolean flag which is true if the email address is verified. Always verified
 | |
|         # because we only return the user's primary email address.
 | |
|         # Corresponds to the JSON property `verified_email`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :verified_email
 | |
|         alias_method :verified_email?, :verified_email
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @email = args[:email] if args.key?(:email)
 | |
|           @family_name = args[:family_name] if args.key?(:family_name)
 | |
|           @gender = args[:gender] if args.key?(:gender)
 | |
|           @given_name = args[:given_name] if args.key?(:given_name)
 | |
|           @hd = args[:hd] if args.key?(:hd)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|           @link = args[:link] if args.key?(:link)
 | |
|           @locale = args[:locale] if args.key?(:locale)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|           @picture = args[:picture] if args.key?(:picture)
 | |
|           @verified_email = args[:verified_email] if args.key?(:verified_email)
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |