application: addKey

Namespace: microsoft.graph

Fügen Sie einer Anwendung wichtige Anmeldeinformationen hinzu. Diese Methode kann zusammen mit "removeKey " von einer Anwendung verwendet werden, um das Rollen der ablaufenden Schlüssel zu automatisieren.

Hinweis

Das Erstellen von Anwendungs - und Aktualisierungsanwendungsvorgängen kann weiterhin verwendet werden, um wichtige Anmeldeinformationen für jede Anwendung mit oder ohne Benutzerkontext hinzuzufügen und zu aktualisieren.

Im Rahmen der Anforderungsüberprüfung für diese Methode wird ein Besitznachweis für einen vorhandenen Schlüssel überprüft, bevor die Aktion ausgeführt werden kann.

Anwendungen, die keine gültigen Zertifikate besitzen (es wurden noch keine Zertifikate hinzugefügt oder alle Zertifikate sind abgelaufen), können diese Dienstaktion nicht verwenden. Sie können den Vorgang Anwendung aktualisieren verwenden, um stattdessen ein Update durchzuführen.

Berechtigungen

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) Keine.
Delegiert (persönliches Microsoft-Konto) Keine.
Anwendung Keine.

Hinweis

Eine Anwendung benötigt keine bestimmte Berechtigung zum Rollen ihrer eigenen Schlüssel.

HTTP-Anforderung

POST /applications/{id}/addKey

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext die folgenden erforderlichen Eigenschaften an.

Eigenschaft Typ Beschreibung
keyCredential keyCredential Die neuen Anmeldeinformationen für den Anwendungsschlüssel, die hinzugefügt werden sollen. Typ, Verwendung und Schlüssel sind erforderliche Eigenschaften für diese Verwendung. Unterstützte Schlüsseltypen sind:
  • AsymmetricX509Cert: Die Verwendung muss .Verify
  • X509CertAndPassword: Die Verwendung muss Sign
passwordCredential passwordCredential Es muss nur secretText festgelegt werden, der das Kennwort für den Schlüssel enthalten sollte. Diese Eigenschaft ist nur für Schlüssel vom Typ X509CertAndPassworderforderlich. Legen Sie es auf "andernfalls" fest null .
Beweis Zeichenfolge Ein selbstsigniertes JWT-Token, das als Besitznachweis für die vorhandenen Schlüssel verwendet wird. Dieses JWT-Token muss mit dem privaten Schlüssel eines der vorhandenen gültigen Zertifikate der Anwendung signiert werden. Das Token sollte den folgenden Anforderungen enthalten:
  • aud – Benutzergruppe muss 00000002-0000-0000-c000-000000000000 sein.
  • iss – Der Aussteller muss die ID der Anwendung sein, die den Anruf tätigt.
  • nbf – Nicht vor der Zeit.
  • exp – Ablaufzeit sollte „nbf“ + 10 Minuten sein.

Hier ist ein Codebeispiel , das verwendet werden kann, um dieses Besitznachweistoken zu generieren. Weitere Informationen zu den Anspruchstypen finden Sie unter Anspruchsnutzlast.

Antwort

Bei erfolgreicher Ausführung gibt die Methode den 200 OK Antwortcode und ein neues keyCredential-Objekt im Antworttext zurück.

Beispiele

Beispiel 1: Hinzufügen einer neuen Schlüsselanmeldeinformationen zu einer Anwendung

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung.

POST https://graph.microsoft.com/v1.0/applications/{id}/addKey
Content-type: application/json

{
    "keyCredential": {
        "type": "AsymmetricX509Cert",
        "usage": "Verify",
        "key": "MIIDYDCCAki..."
    },
    "passwordCredential": null,
    "proof":"eyJ0eXAiOiJ..."
}

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.keyCredential"
}

Beispiel 2: Hinzufügen einer Schlüsselanmeldeinformationen und eines zugehörigen Kennworts für den Schlüssel

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung.

POST https://graph.microsoft.com/v1.0/applications/{id}/addKey
Content-type: application/json

{
    "keyCredential": {
        "type": "X509CertAndPassword",
        "usage": "Sign",
        "key": "MIIDYDCCAki..."
    },
    "passwordCredential": {
        "secretText": "MKTr0w1..."
    },
    "proof":"eyJ0eXAiOiJ..."
}

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.keyCredential"
}