322 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			322 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Ruby
		
	
	
	
# Copyright 2015 Google Inc.
 | 
						|
#
 | 
						|
# 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 Oauth2V1
 | 
						|
      
 | 
						|
      # 
 | 
						|
      class Jwk
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `keys`
 | 
						|
        # @return [Array<Google::Apis::Oauth2V1::Jwk::Key>]
 | 
						|
        attr_accessor :keys
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @keys = args[:keys] if args.key?(:keys)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class Key
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `alg`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :alg
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `e`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :e
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `kid`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :kid
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `kty`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :kty
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `n`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :n
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `use`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :use
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @alg = args[:alg] if args.key?(:alg)
 | 
						|
            @e = args[:e] if args.key?(:e)
 | 
						|
            @kid = args[:kid] if args.key?(:kid)
 | 
						|
            @kty = args[:kty] if args.key?(:kty)
 | 
						|
            @n = args[:n] if args.key?(:n)
 | 
						|
            @use = args[:use] if args.key?(:use)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # 
 | 
						|
      class Raw
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `keyvalues`
 | 
						|
        # @return [Array<Google::Apis::Oauth2V1::Raw::Keyvalue>]
 | 
						|
        attr_accessor :keyvalues
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @keyvalues = args[:keyvalues] if args.key?(:keyvalues)
 | 
						|
        end
 | 
						|
        
 | 
						|
        # 
 | 
						|
        class Keyvalue
 | 
						|
          include Google::Apis::Core::Hashable
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `algorithm`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :algorithm
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `exponent`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :exponent
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `keyid`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :keyid
 | 
						|
        
 | 
						|
          # 
 | 
						|
          # Corresponds to the JSON property `modulus`
 | 
						|
          # @return [String]
 | 
						|
          attr_accessor :modulus
 | 
						|
        
 | 
						|
          def initialize(**args)
 | 
						|
             update!(**args)
 | 
						|
          end
 | 
						|
        
 | 
						|
          # Update properties of this object
 | 
						|
          def update!(**args)
 | 
						|
            @algorithm = args[:algorithm] if args.key?(:algorithm)
 | 
						|
            @exponent = args[:exponent] if args.key?(:exponent)
 | 
						|
            @keyid = args[:keyid] if args.key?(:keyid)
 | 
						|
            @modulus = args[:modulus] if args.key?(:modulus)
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # 
 | 
						|
      class Tokeninfo
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The access type granted with this token. It can be offline or online.
 | 
						|
        # Corresponds to the JSON property `access_type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :access_type
 | 
						|
      
 | 
						|
        # 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
 | 
						|
      
 | 
						|
        # 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 `email_verified`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :email_verified
 | 
						|
        alias_method :email_verified?, :email_verified
 | 
						|
      
 | 
						|
        # 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
 | 
						|
      
 | 
						|
        # The issue time of the token, as number of seconds.
 | 
						|
        # Corresponds to the JSON property `issued_at`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :issued_at
 | 
						|
      
 | 
						|
        # 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
 | 
						|
      
 | 
						|
        # Who issued the token.
 | 
						|
        # Corresponds to the JSON property `issuer`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :issuer
 | 
						|
      
 | 
						|
        # Nonce of the id token.
 | 
						|
        # Corresponds to the JSON property `nonce`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :nonce
 | 
						|
      
 | 
						|
        # 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)
 | 
						|
          @access_type = args[:access_type] if args.key?(:access_type)
 | 
						|
          @audience = args[:audience] if args.key?(:audience)
 | 
						|
          @email = args[:email] if args.key?(:email)
 | 
						|
          @email_verified = args[:email_verified] if args.key?(:email_verified)
 | 
						|
          @expires_in = args[:expires_in] if args.key?(:expires_in)
 | 
						|
          @issued_at = args[:issued_at] if args.key?(:issued_at)
 | 
						|
          @issued_to = args[:issued_to] if args.key?(:issued_to)
 | 
						|
          @issuer = args[:issuer] if args.key?(:issuer)
 | 
						|
          @nonce = args[:nonce] if args.key?(:nonce)
 | 
						|
          @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 Userinfoplus
 | 
						|
        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
 |