4D a přístup ke službě Microsoft 365

Automaticky přeloženo z Deepl

Ve verzi 4D v18 R6 zavedla společnost 4D ověřování OAuth 2.0 pro přístup k e-mailům prostřednictvím transportérů IMAP, SMTP nebo POP3. Počínaje verzí 4D v19 R3 pokračuje 4D v implementaci protokolu OAuth 2.0 a poskytuje způsob, jak snadno požádat naprogramováním tokenu z platformy identit Microsoft o připojení k rozhraní API pro Microsoft 365.

HDI OAUTH2 Microsoft

Předpoklady

Před získáním tokenu z platformy identit společnosti Microsoft je prvním krokem registrace aplikace na portálu Azure. Tím se vytvoří vztah důvěry mezi vaší aplikací a platformou identit společnosti Microsoft. Důvěra je jednosměrná: vaše aplikace důvěřuje platformě identit Microsoft, nikoli naopak.

Tento výukový program společnosti Microsoft je skvělým zdrojem informací o tom, jak zaregistrovat aplikaci v portálu Azure.

Registrace integruje vaši aplikaci s platformou identit společnosti Microsoft a stanoví informace, které používá k získání tokenů, včetně:

  • ID klienta: Jedinečný identifikátor přidělený platformou identit společnosti Microsoft.
  • a Přesměrování URI/URL: Jeden nebo více koncových bodů, na které bude vaše aplikace přijímat odpovědi z platformy identit společnosti Microsoft.
  • a Client Secret: Heslo nebo dvojice veřejný/soukromý klíč, které vaše aplikace používá k ověřování s platformou identit Microsoft. (vyžadováno pouze při získávání přístupu ke službě).

Získání přístupového tokenu

Přístupové tokeny vydané platformou Microsoft identity obsahují informace, které Microsoft Graph, rozhraní API pro Microsoft 365, používá k ověření volajícího a zajištění, že má správná oprávnění k provedení požadované operace.

Pro získání tokenu stačí použít příkaz New OAuth2 provider příkaz se všemi informacemi uvedenými při registraci:

$param:=New object()
$param .name:="Microsoft"
$param .permission:="signedIn"
$param .clientId:="7008ebf5-xxxx-xxxx"
$param .redirectURI:="http://127.0.0.1:50993/"
$param .scope:="https://outlook.office.com/IMAP.AccessAsUser.All"
// Create new OAuth2 object
$oAuth2 :=New OAuth2 provider($param)
// Ask for a token
$token :=$oAuth2.getToken()
If ($token#Null)
// Using of the token to access emails over IMAP
$IMAPParameters :=New object
$IMAPParameters .authenticationMode:=IMAP authentication OAUTH2

// Token received from the server
$IMAPParameters .accessTokenOAuth2:=$token.token.access_token
// e-mail address of the user for whom the token was created
$IMAPParameters.user:=$user
$IMAPParameters .host:="Outlook.office365.com"
$IMAPTransporter :=IMAP New transporter($IMAPParameters)
$ status :=$IMAPTransporter .checkConnection()
If (Not($
status .success))
ALERT("Přístup k serveru IMAP odepřen")
End if
End if

Tento příkaz je součástí nové komponenty 4D NetKit, jejíž zdrojové kódy a dokumentaci najdete na githubu.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.