Class: Google::Apis::ServicemanagementV1::AuthenticationRule

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/servicemanagement_v1/classes.rb,
generated/google/apis/servicemanagement_v1/representations.rb,
generated/google/apis/servicemanagement_v1/representations.rb

Overview

Authentication rules for the service. By default, if a method has any authentication requirements, every request must include a valid credential matching one of the requirements. It's an error to include more than one kind of credential in a single request. If a method doesn't have any auth requirements, request credentials will be ignored.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ AuthenticationRule

Returns a new instance of AuthenticationRule



2110
2111
2112
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 2110

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#allow_without_credentialBoolean Also known as: allow_without_credential?

Whether to allow requests without a credential. The credential can be an OAuth token, Google cookies (first-party auth) or EndUserCreds. For requests without credentials, if the service control environment is specified, each incoming request must be associated with a service consumer. This can be done by passing an API key that belongs to a consumer project. Corresponds to the JSON property allowWithoutCredential

Returns:

  • (Boolean)


2084
2085
2086
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 2084

def allow_without_credential
  @allow_without_credential
end

#custom_authGoogle::Apis::ServicemanagementV1::CustomAuthRequirements

Configuration for a custom authentication provider. Corresponds to the JSON property customAuth



2108
2109
2110
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 2108

def custom_auth
  @custom_auth
end

#oauthGoogle::Apis::ServicemanagementV1::OAuthRequirements

OAuth scopes are a way to define data and permissions on data. For example, there are scopes defined for "Read-only access to Google Calendar" and "Access to Cloud Platform". Users can consent to a scope for an application, giving it permission to access that data on their behalf. OAuth scope specifications should be fairly coarse grained; a user will need to see and understand the text description of what your scope means. In most cases: use one or at most two OAuth scopes for an entire family of products. If your product has multiple APIs, you should probably be sharing the OAuth scope across all of those APIs. When you need finer grained OAuth consent screens: talk with your product management about how developers will use them in practice. Please note that even though each of the canonical scopes is enough for a request to be accepted and passed to the backend, a request can still fail due to the backend requiring additional scopes or permissions. Corresponds to the JSON property oauth



2103
2104
2105
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 2103

def oauth
  @oauth
end

#requirementsArray<Google::Apis::ServicemanagementV1::AuthRequirement>

Requirements for additional authentication providers. Corresponds to the JSON property requirements



2068
2069
2070
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 2068

def requirements
  @requirements
end

#selectorString

Selects the methods to which this rule applies. Refer to selector for syntax details. Corresponds to the JSON property selector

Returns:

  • (String)


2074
2075
2076
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 2074

def selector
  @selector
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2115
2116
2117
2118
2119
2120
2121
# File 'generated/google/apis/servicemanagement_v1/classes.rb', line 2115

def update!(**args)
  @requirements = args[:requirements] if args.key?(:requirements)
  @selector = args[:selector] if args.key?(:selector)
  @allow_without_credential = args[:allow_without_credential] if args.key?(:allow_without_credential)
  @oauth = args[:oauth] if args.key?(:oauth)
  @custom_auth = args[:custom_auth] if args.key?(:custom_auth)
end