Freigeben über


Konfigurieren der Benutzerautorisierung für interaktive Agents

Agents müssen häufig Aktionen im Auftrag von Benutzern ausführen, die den Agent verwenden. Dazu müssen interaktive Agents delegierte Autorisierung vom Benutzer mithilfe des OAuth-Protokolls anfordern. Dieser Artikel führt Sie durch den Prozess der Anforderung der Zustimmung eines Benutzers mithilfe der Agentidentität. Die Schritte umfassen:

  • Aktualisieren des Agentidentitäts-Blueprints mit einem Umleitungs-URI.
  • Erstellen einer Autorisierungsanforderung und Umleiten des Benutzers an die Microsoft Entra-ID.

Voraussetzungen

Stellen Sie vor dem Anfordern der Benutzerautorisierung folgendes sicher:

Registrieren eines Umleitungs-URI

Um delegierte Berechtigungen zu unterstützen, muss Ihr Agentidentitäts-Blueprint mit einem gültigen Umleitungs-URI konfiguriert werden. Dieser URI ist der Ort, an den die Microsoft Entra-ID Benutzer weiterleitet, nachdem sie Ihrer Anwendung die Zustimmung erteilt oder verweigert haben.

Um diese Anforderung zu senden, müssen Sie zuerst ein Zugriffstoken mit der delegierten Berechtigung AgentIdentityBlueprint.ReadWrite.Allabrufen.

PATCH https://graph.microsoft.com/beta/applications/<agent-blueprint-id>
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>

{
  "web": {
    "redirectUris": [
      "https://myagentapp.com/authorize"
    ]
  }
}

Erstellen der URL der Autorisierungsanforderung

Da Ihr Agentidentitäts-Blueprint nun über einen gültigen Umleitungs-URI verfügt, können Sie die Autorisierungs-URL erstellen, mit der der Benutzer aufgefordert wird, delegierte Berechtigungen zu erteilen. Die Autorisierungs-URL folgt dem OAuth 2.0-Autorisierungscodeflussstandard.

Achten Sie darauf, die Agent-Identitätsclient-ID in der folgenden Anforderung zu verwenden, nicht die ID des Agent-Identitäts-Blueprints. Agentenimplementierungen können den Benutzer auf verschiedene Arten zu dieser URL umleiten, indem sie die URL in einer Nachricht einfügen, die an den Benutzer in einem Chatfenster gesendet wird.

https://login.microsoftonline.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?
  client_id=<agent-identity-id>
  &response_type=none
  &redirect_uri=https%3A%2F%2Fmyagentapp.com%2Fauthorize
  &response_mode=query
  &scope=User.Read
  &state=xyz123

Wenn der Benutzer zu dieser URL umgeleitet wird, wird er aufgefordert, sich anzumelden und die im Bereichsparameter angegebenen Berechtigungen zu erteilen. Nachdem Sie die Zustimmung erteilt haben, wird der Benutzer an den angegebenen Umleitungs-URI zurückgegeben.

Die wichtigsten Parameter in der Autorisierungs-URL sind:

  • client_id: Verwenden Sie die Client-ID für die Agentidentität (nicht die Client-ID des Blueprints für die Agentenidentität)
  • response_type: Auf none für den Autorisierungscodefluss festgelegt
  • redirect_uri: Muss genau mit dem übereinstimmen, was Sie im vorherigen Schritt konfiguriert haben.
  • scope: Geben Sie die benötigten delegierten Berechtigungen an (z. B User.Read. )
  • state: Optionaler Parameter für die Aufrechterhaltung des Zustands zwischen der Anforderung und dem Rückruf