| // Copyright (C) 2016 The Android Open Source Project | |
| // | |
| // 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. | |
| package com.google.gerrit.extensions.common; | |
| import com.google.gerrit.extensions.client.AccountFieldName; | |
| import com.google.gerrit.extensions.client.AuthType; | |
| import com.google.gerrit.extensions.client.GitBasicAuthPolicy; | |
| import java.util.List; | |
| /** | |
| * Representation of auth-related server configuration in the REST API. | |
| * | |
| * <p>This class determines the JSON format of auth-related server configuration in the REST API. | |
| * | |
| * <p>The contained values come from the {@code auth} section of {@code gerrit.config}. | |
| */ | |
| public class AuthInfo { | |
| /** | |
| * The authentication type that is configured on the server. | |
| * | |
| * <p>The value of the {@code auth.type} parameter in {@code gerrit.config}. | |
| */ | |
| public AuthType authType; | |
| /** | |
| * Whether contributor agreements are required. | |
| * | |
| * <p>The value of the {@code auth.contributorAgreements} parameter in {@code gerrit.config}. | |
| */ | |
| public Boolean useContributorAgreements; | |
| /** List of contributor agreements that have been configured on the server. */ | |
| public List<AgreementInfo> contributorAgreements; | |
| /** List of account fields that are editable. */ | |
| public List<AccountFieldName> editableAccountFields; | |
| /** | |
| * The login URL. | |
| * | |
| * <p>The value of the {@code auth.loginUrl} parameter in {@code gerrit.config}. | |
| * | |
| * <p>Only set if authentication type is {@code HTTP} or {@code HTTP_LDAP}. | |
| */ | |
| public String loginUrl; | |
| /** | |
| * The login text. | |
| * | |
| * <p>The value of the {@code auth.loginText} parameter in {@code gerrit.config}. | |
| * | |
| * <p>Only set if authentication type is {@code HTTP} or {@code HTTP_LDAP}. | |
| */ | |
| public String loginText; | |
| /** | |
| * The URL to switch accounts. | |
| * | |
| * <p>The value of the {@code auth.switchAccountUrl} parameter in {@code gerrit.config}. | |
| */ | |
| public String switchAccountUrl; | |
| /** | |
| * The register URL. | |
| * | |
| * <p>The value of the {@code auth.registerUrl} parameter in {@code gerrit.config}. | |
| * | |
| * <p>Only set if authentication type is {@code LDAP}, {@code LDAP_BIND} or {@code | |
| * CUSTOM_EXTENSION}. | |
| */ | |
| public String registerUrl; | |
| /** | |
| * The register text. | |
| * | |
| * <p>The value of the {@code auth.registerText} parameter in {@code gerrit.config}. | |
| * | |
| * <p>Only set if authentication type is {@code LDAP}, {@code LDAP_BIND} or {@code | |
| * CUSTOM_EXTENSION}. | |
| */ | |
| public String registerText; | |
| /** | |
| * The URL to edit the full name. | |
| * | |
| * <p>The value of the {@code auth.editFullNameUrl} parameter in {@code gerrit.config}. | |
| * | |
| * <p>Only set if authentication type is {@code LDAP}, {@code LDAP_BIND} or {@code | |
| * CUSTOM_EXTENSION}. | |
| */ | |
| public String editFullNameUrl; | |
| /** | |
| * The URL to obtain an HTTP password. | |
| * | |
| * <p>The value of the {@code auth.httpPasswordUrl} parameter in {@code gerrit.config}. | |
| * | |
| * <p>Only set if authentication type is {@code CUSTOM_EXTENSION}. | |
| */ | |
| public String httpPasswordUrl; | |
| /** | |
| * The policy to authenticate Git over HTTP and REST API requests. | |
| * | |
| * <p>The value of the {@code auth.gitBasicAuthPolicy} parameter in {@code gerrit.config}. | |
| * | |
| * <p>Only set if authentication type is {@code LDAP}, {@code LDAP_BIND} or {@code OAUTH}. | |
| */ | |
| public GitBasicAuthPolicy gitBasicAuthPolicy; | |
| } |