에이전트는 종종 에이전트를 사용하는 사용자를 대신하여 조치를 취해야 합니다. 이렇게 하려면 대화형 에이전트가 OAuth 프로토콜을 사용하여 사용자에게 위임된 권한 부여를 요청해야 합니다. 이 문서에서는 에이전트 ID를 사용하여 사용자의 동의를 요청하는 프로세스를 안내합니다. 단계는 다음과 같습니다.
- 에이전트 신원 청사진을 리디렉션 URI와 함께 업데이트합니다.
- 권한 부여 요청을 생성하고 사용자를 Microsoft Entra ID로 리디렉션합니다.
필수 조건
사용자 권한 부여를 요청하기 전에 다음이 있는지 확인합니다.
- 에이전트 신원(create-delete-agent-identities.md)
- OAuth 2.0 인증 코드 흐름
리디렉션 URI 등록
위임된 권한을 지원하려면 유효한 리디렉션 URI를 사용하여 에이전트 ID 청사진을 구성해야 합니다. 이 URI는 Microsoft Entra ID가 에이전트에 대한 동의를 부여하거나 거부한 후 사용자를 보내는 위치입니다.
이 요청을 보내려면 먼저 위임된 권한 AgentIdentityBlueprint.ReadWrite.All으로 액세스 토큰을 가져와야 합니다.
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"
]
}
}
권한 부여 요청 URL 생성
이제 에이전트 ID 청사진에 유효한 리디렉션 URI가 있으므로 위임된 권한을 부여하라는 메시지를 사용자에게 표시하는 데 사용되는 권한 부여 URL을 생성할 수 있습니다. 권한 부여 URL은 OAuth 2.0 인증 코드 흐름 표준을 따릅니다.
다음 요청에서는 에이전트 아이덴티티 청사진의 ID가 아닌, 에이전트 아이덴티티 클라이언트 ID를 사용해야 합니다. 에이전트 구현은 채팅 창에서 사용자에게 보낸 메시지에 포함시키는 등 다양한 방법으로 사용자를 이 URL로 리디렉션할 수 있습니다.
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
사용자가 이 URL로 리디렉션되면 범위 매개 변수에 지정된 권한에 로그인하고 동의를 부여하라는 메시지가 표시됩니다. 동의를 부여하면 사용자가 지정된 리디렉션 URI로 돌아갑니다.
권한 부여 URL의 주요 매개 변수는 다음과 같습니다.
-
client_id: 에이전트 ID 클라이언트 ID 사용(에이전트 ID 청사진 클라이언트 ID 아님) -
response_type: 권한 부여 코드 흐름을 위한none으로 설정 -
redirect_uri: 이전 단계에서 구성한 것과 정확히 일치해야 합니다. -
scope: 필요한 위임된 사용 권한 지정(예:User.Read). -
state: 요청과 콜백 간의 상태를 유지 관리하기 위한 선택적 매개 변수
관련 콘텐츠
- 기본 대화형 에이전트 인증을 위한 로그인 사용자
- 사용자 토큰 요청 온ㆍ비핸프-오브(On-Behalf-Of) 흐름 구현을 위한
- 자세한 OAuth 개념에 대한 Microsoft ID 플랫폼의 사용 권한 및 동의