Tjänstslutpunktsautentiseringsscheman

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

När du definierar en anpassad tjänstslutpunktstyp i tillägget anger du ett autentiseringsschema som talar om för Azure DevOps hur du anger autentiseringsuppgifter i HTTP-begärandehuvudet. Azure DevOps stöder följande autentiseringsscheman för anpassade slutpunkter.

Tips

För den senaste utvecklingsvägledningen för tillägg, inklusive teman och migrering från VSS. SDK, se utvecklarportalen för Azure DevOps Extension SDK.

Grundläggande autentisering

Använder ett användarnamn och lösenord som skickas som ett Base64-kodat Authorization huvud.

Viktigt!

Använd där det är möjligt tjänstens huvudnamn och hanterade identiteter i stället för grundläggande autentisering. Mer information finns i Använda tjänstekonton & hanterade identiteter.

Den inbyggda schematypen är ms.vss-endpoint.endpoint-auth-scheme-basic. Du behöver inte deklarera det i tilläggsmanifestet – referera till det i slutpunktstypens authenticationSchemes matris:

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

Azure DevOps uppmanar användaren att ange användarnamn och lösenord och skickar dem som standardrubriken HTTP Basic Authorization .

Tokenbaserad autentisering

Tar en enda konfidentiell indata – en API-token. Tokenvärdet skickas i Authorization rubriken.

{
    "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
                        }
                    }
                ]
            }
        ]
    }
}

Platshållaren {{endpoint.apitoken}} matchar värdet som användaren anger i fältet API-token vid körning.

Certifikatbaserad autentisering

Tar en enda konfidentiell indata – certifikatinnehållet som anges i ett textområde.

{
    "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"
                        }
                    }
                ]
            }
        ]
    }
}

Ingen autentisering

Använd det här schemat när den externa tjänsten stöder anonym åtkomst och inga autentiseringsuppgifter behövs.

{
    "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"
    }
}