Verificatieschema's voor service-eindpunten

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Wanneer u een aangepast service-eindpunttype in uw extensie definieert, geeft u een verificatieschema op dat Azure DevOps laat zien hoe referenties moeten worden ingesteld in de HTTP-aanvraagheader. Azure DevOps ondersteunt de volgende verificatieschema's voor aangepaste eindpunten.

Tip

Voor de nieuwste richtlijnen voor uitbreidingsontwikkeling, inclusief thema's en migratie van VSS. SDK raadpleegt u de ontwikkelaarsportal van de Azure DevOps Extension SDK.

Basisverificatie

Gebruikt een gebruikersnaam en wachtwoord die zijn verzonden als een base64-gecodeerde Authorization header.

Belangrijk

Gebruik waar mogelijk service-principals en beheerde identiteiten in plaats van basisverificatie. Zie Service-principals gebruiken & beheerde identiteitenvoor meer informatie.

Het ingebouwde schematype is ms.vss-endpoint.endpoint-auth-scheme-basic. U hoeft het niet te declareren in uw extensiemanifest — verwijs ernaar in de authenticationSchemes matrix van uw eindpunttype.

"authenticationSchemes": [
    {
        "type": "ms.vss-endpoint.endpoint-auth-scheme-basic"
    }
]

Azure DevOps vraagt de gebruiker om gebruikersnaam en wachtwoord en verzendt deze als standaard-HTTP Basic-header Authorization .

Verificatie op basis van tokens

Neemt één vertrouwelijke invoer: een API-token. De tokenwaarde wordt verzonden in de Authorization header.

{
    "id": "endpoint-auth-scheme-token",
    "description": "i18n:Token based endpoint authentication scheme",
    "type": "ms.vss-endpoint.service-endpoint-type",
    "targets": [
        "ms.vss-endpoint.endpoint-types"
    ],
    "properties": {
        "name": "Token",
        "displayName": "i18n:Token Based Authentication",
        "authenticationSchemes": [
            {
                "type": "ms.vss-endpoint.endpoint-auth-scheme-token",
                "headers": [
                    {
                        "name": "Authorization",
                        "value": "{{endpoint.apitoken}}"
                    }
                ],
                "inputDescriptors": [
                    {
                        "id": "apitoken",
                        "name": "i18n:API Token",
                        "description": "i18n:API Token for connection to endpoint",
                        "inputMode": "textbox",
                        "isConfidential": true,
                        "validation": {
                            "isRequired": true,
                            "dataType": "string",
                            "maxLength": 300
                        }
                    }
                ]
            }
        ]
    }
}

De {{endpoint.apitoken}} tijdelijke aanduiding wordt omgezet in de waarde die de gebruiker tijdens runtime invoert in het veld API-token .

Verificatie op basis van certificaten

Neemt één vertrouwelijke invoer: de inhoud van het certificaat, ingevoerd in een tekstgebied.

{
    "id": "endpoint-auth-scheme-cert",
    "description": "i18n:Creates a certificate-based endpoint authentication scheme",
    "type": "ms.vss-endpoint.service-endpoint-type",
    "targets": [
        "ms.vss-endpoint.endpoint-types"
    ],
    "properties": {
        "name": "Certificate",
        "displayName": "i18n:Certificate Based",
        "authenticationSchemes": [
            {
                "type": "ms.vss-endpoint.endpoint-auth-scheme-cert",
                "inputDescriptors": [
                    {
                        "id": "certificate",
                        "name": "i18n:Certificate",
                        "description": "Content of the certificate",
                        "inputMode": "TextArea",
                        "isConfidential": true,
                        "validation": {
                            "isRequired": true,
                            "dataType": "string"
                        }
                    }
                ]
            }
        ]
    }
}

Geen verificatie

Gebruik dit schema wanneer de externe service anonieme toegang ondersteunt en er geen referenties nodig zijn.

{
    "id": "endpoint-auth-scheme-none",
    "description": "i18n:Creates an endpoint authentication scheme with no authentication.",
    "type": "ms.vss-endpoint.endpoint-auth-scheme-none",
    "targets": [
        "ms.vss-endpoint.endpoint-auth-schemes"
    ],
    "properties": {
        "name": "None",
        "displayName": "i18n:No Authentication"
    }
}