Print

Poczta przychodząca z outlook.office365.com

W celu pobrania maili z serwera outlook.office365.com, należy skonfigurować pobieranie poczty przy pomocy protokołu EWS i logowania OAuth. Po wybraniu protokołu EWS (Ustawienia systemowe/Poczta przychodząca/Poczta przychodząca) i wskazaniu serwera outlook.office365.com, w ustawieniach procesu (w którym ma być obsługa poczty przychodzącej) pod polem [E-mail hasło] pojawi się link [Generuj token OAuth].

Aby wygenerować token OAuth do Office365, należy wpisać login konta, z którego chcemy pobierać maile, i nacisnąć [Generuj token OAuth]. W nowej zakładce pojawi się okienko do logowania na serwerze Microsoft.

Jeżeli będzie to pierwsze logowanie do OAuth, to pojawi się monit o potwierdzenie żądania uprawnień. Domyślnie AMODIT łączy się jako aplikacja AMODIT zweryfikowana na naszym koncie (patrz: dodatkowe uwagi na dole artykułu). Na poniższym obrazku jest niezweryfikowana aplikacja AMODIT2, ponieważ dla AMODIT było to już potwierdzone.

Po akceptacji pole z hasłem zostanie wypełnione tokenem OAuth. Nowe ustawienia należy zapisać.

Domyślnie AMODIT łączy się z Azure na wbudowanym koncie z domeny astrafox.pl. Klient może udzielić uprawnienia do logowania się w jego imieniu dla naszego konta (potrzebne są uprawnienia administratora w Azure AD).

Jeżeli klient nie chce dawać zgody na korzystanie z rejestracji w naszej domenie w Azure, to może wpisać w ustawieniach systemowych dane aplikacji ze swojej domeny. Aplikację należy zarejestrować na stronie: https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
Instrukcja tworzenia aplikacji opisana jest na stronie: Konfiguracja aplikacji Azure na potrzebny logowania OAuth
Następnie w Ustawieniach systemowych w parametrze AzureApplicationConfig w sekcji Poczta przychodząca/Ustawienia EWS wpisać JSON w postaci:

Pobierz przykładowy plik JSON: AzureApplicationConfig-json.pdf

gdzie:

  • client_id to identyfikator aplikacji (klienta) z parametrów aplikacji Azure;
  • client_secret to wpis tajny wygenerowany dla aplikacji;
  • w redirect_uris jest wpisany adres strony na którą nastąpi przekierowanie po uwierzytelnieniu w Azure. Ta strona musi być ustawiona jako strona przekierowania w Azure. W miejsce ???? w podanym adresie należy wstawić adres serwera AMODIT;
  • AMODIT wymaga uprawnień do scope: offline_access https://outlook.office.com/EWS.AccessAsUser.All (dla poczty przychodzącej).

Dodatkowe uwagi:

  • Aby zadziałało wypełnienie tokenem pola „E-mail hasło”, AMODIT musi być otworzony z tego samego adresu serwera, jaki jest wypełniony w polu redirect_uris (czyli dla przykładu http://localhost:54354 ). Inaczej wypełnienie pola „E-mail hasło” zostanie zablokowane z uwagi na próbę modyfikacji strony AMODIT z innej domeny.
  • Powyższa funkcjonalności w systemie AMODIT jest dostępna od wersji 220325.
  • Dla poczty wychodzącej wymagane scope to: offline_access https://outlook.office.com/mail.send
  • Jeżeli po zalogowaniu w Microsoft i przekierowaniu do AMODIT dostajemy błąd 404 (dokładniej 404.15), to oznacza, że została przekroczona maksymalna długość query string w adresie. Domyślnie jest to 2048 znaków, a token z Microsoft może być dłuższy. Aby zwiększyć ten limit, należy dodać parametr maxQueryString w web.config AMODIT (przykład w web.config.txt):
    <security>
    <requestFiltering>
    <requestLimits maxAllowedContentLength="52428800" maxQueryString="4096" />
    </requestFiltering>
    </security>
  • Dodatkowo należy dodać parametry maxQueryStringLength i maxUrlLength w tagu httpRuntime:
    <httpRuntime ... maxQueryStringLength="32768" maxUrlLength="65536"/>
  • Jeśli klient chce korzystać z naszej aplikacji w Azure do uwierzytelnienia, a taka jest skonfigurowana domyślnie w AMODIT, to w pliku web.config musi się znajdować wpis:
    <add key="OAuthUrl" value="https://oauth.amodit.com" />

    I nic więcej nie trzeba robić.

  • Jeśli klient chce korzystać z własnej aplikacji w Azure do uwierzytelnienia, to żadnego(!!!) wpisu dla parametru „OAuthUrl” nie może być w pliku web.config. Natomiast klient musi skonfigurować aplikację w Azure zgodnie z instrukcją przedstawioną w tym artykule powyżej. I teraz jeszcze jedna ważna rzecz, system AMODIT najlepiej gdyby działał po protokole HTTPS. Nawet jeśli jest on w sieci wewnętrznej. Na pewno musi on działać po protokole HTTPS na czas konfigurowania aplikacji w Azure. Istotne również jest to, aby podczas konfiguracji aplikacji w Azure jako identyfikator URI przekierowania podać dokładny adres systemu AMODIT w sieci wewnętrznej (najlepiej po HTTPS). No i oczywiście, aby to wszystko działało, to AMODIT musi „widzieć” świat zewnętrzny.
Czy artykuł był pomocny?
0 na 5 gwiazdek
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?