Seria o PVA – autoryzacja w Power Virtual Agent
Table of Contents
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:
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:
Gdy użytkownik pomyślnie się zaloguje, obecne są dwie zmienne, które będą następnie używane w przepływie:
- IsLoggedIn – zmienna boolowska, prawda po zalogowaniu (co za niespodzianka: P)
- 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 🙂
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
Pole | Wartość |
---|---|
Connection name | Nazwa połączenia |
Service Provider | Power Virtual Agents obsługuje tylko generycznych dostawców OAuth2. |
Client ID | Client ID aplikacji Azure (czytaj dalej) |
Client Secret | Client secret aplikacji Azure (czytaj dalej) |
Scope List delimiter | Użyj: , |
Authorization URL Template | https://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 Template | https://login.microsoftonline.com/common/oauth2/v2.0/token |
Token URL Query String Template | Użyj: ? |
Token Body Template | code={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret} |
Refresh URL Template | https://login.microsoftonline.com/common/oauth2/v2.0/token |
Refresh URL Query String Template | Użyj: ? |
Refresh Body Template | refresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret} |
Scopes | Do 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:
- Przejdź do karty „Authentication”
- Kliknij przycisk „Add a platform”
- Wpisz: „https://token.botframework.com/.auth/web/redirect”
- Wybierz opcję: „Access tokens”
- Wciśnij przycisk „Configure”.
Następnie musisz także przyznać uprawnienia dla aplikacji. Aby to zrobić, wykonaj następujące czynności:
- Przejdź do karty „API permissions”
- Kliknij przycisk „Add a permission”
- Wybierz „Microsoft Graph”
- Wybierz „Delegated permissions”
- Wybierz opcję „openid”
- 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!