Konfiguracja Microsoft OAuth w Wizlink®
Aby skorzystać z mechanizmów logowania Microsoft OAuth w Wizlink należy wykonać następujące kroki:
- Utworzenie aplikacji wewnętrznej (single tenant) w Azure Active Directory.
- Nadanie uprawnień w panelu administracyjnym.
- Uzupełnienie aktywności w Wizlink.
1. Utworzenie aplikacji wewnętrznej w Azure Active Directory
Po zalogowaniu się do https://portal.azure.com/#home na konto znajdujące się w tej samej organizacji posiadającej konto mailowe, z którego będzie korzystał robot, należy wybrać opcję Azure Active Directory w menu. Następnie trzeba przejść do opcji App Registrations, dzięki czemu zostanie wyświetlony następujący ekran:

Z tego ekranu należy wybrać opcję New Registration.
Na następnej stronie należy podać nazwę tworzonej aplikacji a pozostałe opcje zostawić domyślne (w szczególności opcję definiującą kto będzie z niej korzystać), a następnie nacisnąć przycisk Register.

Jeżeli portal powróci na stronę główną, trzeba ponownie przejść do strony rejestracji aplikacji - a więc znowu wybrać opcję Azure Active Directory i po niej App Registrations. Tym razem powinna się tam znajdować nowa aplikacja utworzona w poprzednim kroku:

Klikając na jej nazwę zostaniemy przeniesieni do zarządzania aplikacją:

Tu należy skonfigurować kilka elementów. Po pierwsze w zakładce Certificates & secrets trzeba utworzyć token, którym aplikacja będzie się uwierzytelniać.

Po naciśnięciu przycisku New client secret, po prawej stronie pojawi się okno. Formularz w tym oknie należy wypełnić, podając opis i czas, przez który token będzie ważny.
UWAGA: Po upływie wybranego okresu czasu konieczne będzie ponowne zalogowanie się do panelu i wygenerowanie nowego tokenu.
Po uzupełnieniu wszystkich pól, należy podane dane zatwierdzić przyciskiem Add. Następnie w zakładce Authentication, w sekcji Advanced settings należy się jeszcze upewnić, że włączona jest opcja Allow public client flows. Jeżeli ta opcja jest wyłączona należy ją włączyć przestawiając na Yes.

Oprócz tego należy dodać platformę, na której będzie działać aplikacja. W sekcji Platform configurations, trzeba kliknąć przycisk Add a platform, co spowoduje wyświetlenie dodatkowego okienka, z którego należy wybrać opcję Mobile and desktop applications:

Dla okna Redirect URI należy zaznaczyć kwadrat przy adresie https://login.microsoftonline.com/common/oauth2/nativeclient i zatwierdzić zmiany przyciskiem Configure.

Na koniec należy przejść do zakładki Overview i skopiować wartości znajdujące się w Application (client) ID i Directory (tenant) ID. Te wartości będzie trzeba podać w aktywności w Wizlink.

2. Nadanie uprawnień aplikacji
Następnym krokiem jest nadanie uprawnień do interakcji z potrzebnymi elementami Active Directory. W tym celu trzeba przejść do zakładki API permissions

Na otwartej stronie należy nacisnąć przycisk Add a permission a z otwartego po prawej stronie panelu wybrać Microsoft Graph:

W zakładce Delegated permissions trzeba po kolei wyszukać i dodać następujące dostępy:
-
-
- offline_access
- SMTP.Send
- User.Read
-

Wybór trzeba zatwierdzić klikając przycisk Add permissions. Następnie trzeba ponownie nacisnąć przycisk Add a permission, w panelu wybrać zakładkę APIs my organization uses i wyszukać tam Office 365 Exchange Online:

W przeciwieństwie do Microsoft Graph, tym razem należy wybrać Application premissions i tam już analogicznie dodać uprawnienia do:
-
-
- IMAP.AccessAsApp
- POP.AccessAsApp
-
Ponownie zatwierdzamy przyciskiem Add permissions.
Na zakończenie konfiguracji osoba z uprawnieniami administratora w Azure Active Directory musi wyrazić zgodę na korzystanie z danych uprawnień przyciskiem Grant admin consent. Jeżeli ta opcja jest nieaktywna, należy skontaktować się z właścicielem konta z odpowiednimi prawami.

3. Uzupełnienie aktywności
W aktywnościach związanych z obsługą maili znajduje się sekcja odpowiedzialna za OAuth. Należy zaznaczyć pole Use OAuth, uzupełnić pole Provider (Microsoft) i wypełnić pola Application (Client) ID oraz Tenant (directory) ID zgodnie z danymi nowo utworzonej aplikacji.
Należy zwrócić uwagę, że w przypadku uwierzytelniania przez Microsoft, pole Client Secret powinno pozostać puste – jest ono wymagane w przypadku innych usługodawców.
