Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Copilot Studio obsługuje logowanie jednokrotne (SSO) z dostawcami uwierzytelniania zgodnymi z protokołem OAuth 2.0. Logowanie jednokrotne pozwala agentom witryny sieci Web na logowanie klientów po zalogowaniu się do strony lub aplikacji, w której wdrożony jest agent klienta.
Wymagania wstępne
- Konfigurowanie uwierzytelnienia użytkownika u ogólnego dostawcy OAuth 2.0
- Dodawanie uwierzytelniania użytkowników do tematów.
- Dostosowywanie wyglądu i przepływu agenta.
Tworzenie i używanie kanw niestandardowych obsługujący ogólny przepływ jednokrotnego logowania dostawcy OAuth
Gdy temat uwierzytelniania zostanie wywołany w agentach połączonych z ogólnym dostawcą OAuth 2.0, Copilot Studio wysyła wiadomość zawierającą bezpieczny adres URL, który służy do przesłania tokenu dostępu użytkownika.
Kanwa niestandardowa lub strona, na której kanwa jest osadzona, powinna implementować następujący wzorzec:
Należy uzyskać token dostępu logowania od dostawcy uwierzytelniania oAuth 2.0, używając preferowanej metody.
Przechwyć wiadomość przychodzącą z Copilot Studio i wyodrębnij bezpieczny adres URL.
Opublikuj token dostępu do bezpiecznego adresu URL.
Wyodrębnij token dostępu do bezpiecznego adresu URL i go opublikuj
Kanwa niestandardowa przechwytuje wiadomości przychodzące przy użyciu koncepcji oprogramowania pośredniczącego, czyli kodu uruchamianego w celu odbierania wiadomości z Copilot Studio.
Aby zareagować na żądania logowania, kanwa niestandardowa musi odpowiedzieć na wiadomości z załącznikami z typem zawartości application/vnd.microsoft.card.oauth. Załączniki OAuthCard zawierają właściwość content.tokenPostResource.sasUrl, z której można wyodrębnić bezpieczny adres URL. Na koniec kanwa niestandardowa powinna opublikować wpis token dostępu użytkownika pod bezpiecznym adresem URL.
Następujący kod JavaScript jest przykładem kodu middleware, który wyodrębnia bezpieczny adres URL i publikuje token. Jeśli wpis będzie pomyślny, oprogramowanie pośredniczące zwraca false. Jeśli wpis kończy się niepowodzeniem lub działanie nie ma tej właściwości application/vnd.microsoft.card.oauth, jest zwracane next(…args).
const activityMiddleware = () => next => (...args) => {
if (args[0].activity.attachments?.[0]?.contentType === 'application/vnd.microsoft.card.oauth') {
var postEndpoint = args[0].activity.attachments?.[0].content.tokenPostResource.sasUrl;
// Perform an HTTP POST to the secure URL with the body of:
// {
// "token": <user_token>
// }
if(success)
return false;
else
return next(...args);
} else {
return next(...args);
}
};
Pełny przykładowy kod
Implementacja kanwy lub aplikacji niestandardowej, która uzyskuje token dla zalogowanego użytkownika i przesyła token do usługi Copilot Studio, różni się w zależności od dostawcy uwierzytelniania. Aby uzyskać więcej informacji, zobacz dokumentację dostawcy uwierzytelniania, aby uzyskać więcej szczegółowych informacji na temat przepływów logowania i uzyskiwania tokenów dostępu. Aby uzyskać przykład odwołania przy użyciu funkcji OKTA, zobacz Logowanie jednokrotne innej firmy przy użyciu funkcji OKTA.
Używanie tokena w Copilot Studio
Tokeny przekazywane przy użyciu bezpiecznego adresu URL są umieszczane w zmiennej System.User.AccessToken w Copilot Studio. Twórcy agenta tej zmiennej systemowej mogą używać tej zmiennej systemowej do uzyskiwania dostępu do chronionych interfejsów API połączonych z uwierzytelnionym dostawcą, który wygenerował token.
W poniższym przykładzie wywołania protokołu HTTP są skonfigurowane przy użyciu nagłówka autoryzacji, używającego System.User.AccessToken.
Obsługiwane kanały
Logowanie jednokrotne z ogólnym dostawcą uwierzytelniania OAuth to niestandardowy wzorzec, który można wdrożyć za pomocą kanwy niestandardowej lub dowolnego innego klienta pracującego z bezpośrednim interfejsem API.