Dzisiaj Microsoft, w swoim „nowym” produkcie: Power Virtual Agent, wdrożył już niektóre funkcje, które miały zostać dopiero wdrożone 2 grudnia 2019. Jedną z nich jest „Uwierzytelnianie” (Authentication). W tym poście pomogę Ci skonfigurować usługę Azure Active Directory jako punkt endpoint uwierzytelniania oAuth2.0.

Jak działa uwierzytelnianie w PVA?

Po umieszczeniu akcji uwierzytelniania w przepływie konwersacji i gdy użytkownik w konwersacji dojdzie do niej:

Authenticate action in conversation flow

Wyświetli mu się karta z przyciskiem, który po kliknięciu wygeneruje OTP, który następnie użytkownik musi skopiować i wkleić w oknie czatu:

Authentication flow in Power Virtual Agent

Gdy użytkownik pomyślnie się zaloguje, obecne są dwie zmienne, które będą następnie używane w przepływie:

  1. IsLoggedIn – zmienna boolowska, prawda po zalogowaniu (co za niespodzianka: P)
  2. AuthToken – to po prostu bearer token wygenerowany dla użytkownika

Konfiguracja

Aby uzyskać dostęp do ustawień uwierzytelniania bota, musisz przejść do następującego adresu URL: https://powerva.microsoft.com/#/manage/authentication.

Ważne! Możesz zdefiniować tylko jeden endpoint uwierzytelniania dla każdego bota.

Strona wyświetla pusty formularz, który nie jest zbyt łatwy do wypełnienia informacjami, jeśli nie jesteś ekspertem w Azure AD 🙂

Power Virtual Agent authentication configuration

Na szczęście dokumentacja jest napisana całkiem dobrze, co pomaga nam ustawić wartości dla tych pól, w przypadku gdy chcemy użyć AAD jako dostawcy poświadczeń: https://docs.microsoft.com/en-us/power-virtual-agents/configuration-end-user-authentication

PoleWartość
Connection nameNazwa połączenia
Service ProviderPower Virtual Agents obsługuje tylko generycznych dostawców OAuth2.
Client IDClient ID aplikacji Azure (czytaj dalej)
Client SecretClient secret aplikacji Azure (czytaj dalej)
Scope List delimiterUżyj: ,
Authorization URL Templatehttps://login.microsoftonline.com/common/ oauth2/v2.0/authorize
Authorization URL Query String Template?client_id={ClientId}&response_type=code&redirect_uri={RedirectUrl}&scope={Scopes}&state={State}
Token URL Templatehttps://login.microsoftonline.com/common/ oauth2/v2.0/token
Token URL Query String Template Użyj: ?
Token Body Templatecode={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret}
Refresh URL Templatehttps://login.microsoftonline.com/common/ oauth2/v2.0/token
Refresh URL Query String Template Użyj: ?
Refresh Body Templaterefresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret}
ScopesDo celów uwierzytelnienia powinno to być: openid

Aplikacja Azure

Ponieważ konfiguracja wymaga client id i client secret aplikacji, a także nazwy scope, musisz skonfigurować tę aplikację w AAD.

By to zrobić otwórz: https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps – kartę app registrations poniżej karty Azure AD. Następnie kliknij „new registration”:

Następnie zdefiniuj jego nazwę i wybierz opcję „Multitenant” dla obsługiwanych typów kont:

Po zarejestrowaniu aplikacji musisz skonfigurować adres URL przekierowania. Aby to zrobić, wykonaj następujące czynności:

  1. Przejdź do karty „Authentication”
  2. Kliknij przycisk „Add a platform”
  3. Wpisz: „https://token.botframework.com/.auth/web/redirect”
  4. Wybierz opcję: „Access tokens”
  5. Wciśnij przycisk „Configure”.

Następnie musisz także przyznać uprawnienia dla aplikacji. Aby to zrobić, wykonaj następujące czynności:

  1. Przejdź do karty „API permissions”
  2. Kliknij przycisk „Add a permission”
  3. Wybierz „Microsoft Graph”
  4. Wybierz „Delegated permissions”
  5. Wybierz opcję „openid”
  6. Wciśnij przycisk „Add permissions”

Na koniec przejdź do „Certificates & secrets” i wygeneruj nowy sekretny klucz:

Następnie skopiuj jego wartość i wklej ją w oknie konfiguracji Power Virtual Agent. Na koniec przejdź do bloku „Overview”, aby skopiować wartość „Client ID”:

To wszystko! Aplikacja Azure jest zarejestrowana i skonfigurowana. Skopiuj jej klucz i identyfikator, i wklej na ekranie konfiguracji Power Virtual Agent.

Mam nadzieję, że ten post pomoże zaoszczędzić Ci godziny wyszukiwania i wymyślania, jak skonfigurować uwierzytelnianie za pomocą AAD dla PVA. Zostaw komentarz, jeśli potrzebujesz wsparcia!