OAuth2 Steun voor de Dienst van de Post oauth2-support-for-the-mail-service
AEM as a Cloud Service biedt OAuth2-ondersteuning voor de geïntegreerde e-mailservice, zodat organisaties zich kunnen houden aan de vereisten voor e-mail.
U kunt OAuth voor veelvoudige e-mailleveranciers vormen. Hieronder vindt u stapsgewijze instructies voor het configureren van de AEM Mail Service voor verificatie via OAuth2 met Microsoft® Office 365 Outlook. Andere verkopers kunnen op een gelijkaardige manier worden gevormd.
Voor meer informatie over de Dienst van de Post van AEM as a Cloud Service, zie Verzendend E-mail.
Microsoft® Outlook microsoft-outlook
-
Ga naar https://portal.azure.com/en login.
-
Onderzoek naar Azure Actieve Folder in de onderzoeksbar en klik het resultaat. Alternatief, kunt u direct aan https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overviewdoorbladeren
-
Klik > Nieuwe Registratie van de Toepassing van 0} {.
-
Vul de informatie volgens uw vereisten in, dan klik Register.
-
Ga naar gecreeerde app, en selecteer API Toestemmingen.
-
Klik toevoegen Toestemming > Toestemming van de Grafiek > Gedelegeerde Toestemmingen.
-
Selecteer de hieronder toestemmingen voor uw app, dan klik toevoegen Toestemming:
note note NOTE De configuratie van toestemmingen kan in tijd evolueren. Werken met Microsoft® als deze niet werken zoals u had verwacht. https://outlook.office.com/SMTP.Send
openid
offline_access
email
profile
-
Ga naar Authentificatie > voeg een platform > Web toe, en in de Redirect Urls sectie, voeg hieronder URLs toe - met en zonder een voorwaartse schuine streep:
http://localhost/
http://localhost
-
De pers vormt na het toevoegen van elke URL en vormt uw montages volgens uw vereisten.
-
Daarna, ga naar Certificaten en geheimen, klik Nieuw cliëntgeheim en volg de stappen op het scherm om een geheim tot stand te brengen. Let erop dat u dit geheim opneemt voor later gebruik.
-
Pers Overzicht in de linkerruit en kopieer de waarden voor identiteitskaart van de Toepassing (cliënt) en Folder (huurder) identiteitskaart voor recenter gebruik.
Om opnieuw te verpakken, gebruik volgende informatie om OAuth2 voor de dienst van de Post op de AEM kant te vormen:
- Auth URL, die met huurderidentiteitskaart wordt geconstrueerd. Het heeft de volgende vorm:
https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/authorize
- De token-URL, die wordt samengesteld met de huurder-id. Het heeft de volgende vorm:
https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
- De vernieuwings-URL, die wordt samengesteld met de huurder-id. Het heeft de volgende vorm:
https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
- Client-id
- Het clientgeheim
Het genereren van het token Vernieuwen generating-the-refresh-token
Daarna, vernieuw symbolisch, dat een deel van de configuratie OSGi in een verdere stap door het volgende te doen is:
-
Open de volgende URL in de browser nadat u
clientID
entenantID
hebt vervangen door de waarden die specifiek zijn voor uw account:code language-none https://login.microsoftonline.com/%3ctenantID%3e/oauth2/v2.0/authorize?client_id=%3cclientId%3e&response_type=code&redirect_uri=http://localhost&response_mode=query&scope=https://outlook.office.com/SMTP.Send%20email%20openid%20profile%20offline_access&state=12345`
-
Toestaan dat toestemming wordt gevraagd als u hierom wordt gevraagd.
-
De URL wordt omgeleid naar een nieuwe locatie, in de volgende indeling:
code language-none http://localhost/?code=<code>&state=12345&session_state=4f984c6b-cc1f-47b9-81b2-66522ea83f81#`
-
Kopieer de waarde van
<code>
in het bovenstaande voorbeeld. -
Gebruik het volgende cURL bevel om te krijgen refreshToken. Vervang de huurderID, clientID, en clientSecret met de waarden voor uw rekening, en de waarde voor
<code>
:code language-none curl --location --request POST 'https://login.microsoftonline.com/<tenantId>/oauth2/v2.0/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Cookie: buid=0.ARgAep0nU49DzUGmoP2wnvyIkcQjsx26HEpOnvHS0akqXQgYAAA.AQABAAEAAAD--DLA3VO7QrddgJg7Wevry9XPJSKbGVlPt5NWYxLtTl3K1W0LwHXelrffApUo_K02kFrkvmGm94rfBT94t25Zq4bCd5IM3yFOjWb3V22yDM7-rl112sLzbBQBRCL3QAAgAA; esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr4a8wBjYcNbBXRievdTOd15caaeAsQdXeBAQA3tjVQaxmrOXFGkKaE7HBzsJrzA-ci4RRpor-opoo5gpGLh3pj_iMZuqegQPEb1V5sUVQV8_DUEbBv5YFV2eczS5EAhLBAwAd1mHx6jYOL8LwZNDFvd2-MhVXwPd6iKPigSuBxMogAA; x-ms-gateway-slice=estsfd; stsservicecookie=estsfd; fpc=Auv6lTuyAP1FuOOCfj9w0U_5vR5dAQAAALDXP9gOAAAAwIpkkQEAAACT2T_YDgAAAA' \ --data-urlencode 'client_id=<clientID>' \ --data-urlencode 'scope=https://outlook.office.com/SMTP.Send https://graph.microsoft.com/Mail.Read https://graph.microsoft.com/Mail.Send https://graph.microsoft.com/User.Read email openid profile offline_access' \ --data-urlencode 'redirect_uri=http://localhost' \ --data-urlencode 'grant_type=authorization_code' \ --data-urlencode 'client_secret=<clientSecret>' \ --data-urlencode 'code=<code>'
-
Noteer refreshToken en accessToken.
Tokens valideren validating-the-tokens
Alvorens te werk te gaan om OAuth op de AEM kant te vormen, zorg ervoor om zowel accessToken als refreshToken met de hieronder procedure te bevestigen:
-
Genereer accessToken door refreshToken te gebruiken die in de vorige procedure wordt geproduceerd door de volgende krulling te gebruiken, die de waarden voor
<client_id>
,<client_secret>
, en<refreshToken>
vervangt:code language-none curl --location --request POST 'https://login.microsoftonline.com/<tenetId>/oauth2/v2.0/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Cookie: buid=0.ARgAep0nU49DzUGmoP2wnvyIkcQjsx26HEpOnvHS0akqXQgYAAA.AQABAAEAAAD--DLA3VO7QrddgJg7Wevry9XPJSKbGVlPt5NWYxLtTl3K1W0LwHXelrffApUo_K02kFrkvmGm94rfBT94t25Zq4bCd5IM3yFOjWb3V22yDM7-rl112sLzbBQBRCL3QAAgAA; esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr4a8wBjYcNbBXRievdTOd15caaeAsQdXeBAQA3tjVQaxmrOXFGkKaE7HBzsJrzA-ci4RRpor-opoo5gpGLh3pj_iMZuqegQPEb1V5sUVQV8_DUEbBv5YFV2eczS5EAhLBAwAd1mHx6jYOL8LwZNDFvd2-MhVXwPd6iKPigSuBxMogAA; x-ms-gateway-slice=estsfd; stsservicecookie=estsfd; fpc=Auv6lTuyAP1FuOOCfj9w0U_IezHLAQAAAPeNSdgOAAAA' \ --data-urlencode 'client_id=<client_id>' \ --data-urlencode 'scope=https://outlook.office.com/SMTP.Send https://graph.microsoft.com/Mail.Read https://graph.microsoft.com/Mail.Send https://graph.microsoft.com/User.Read email openid profile offline_access' \ --data-urlencode 'redirect_uri=http://localhost' \ --data-urlencode 'grant_type=refresh_token' \ --data-urlencode 'client_secret=<client_secret>' \ --data-urlencode 'refresh_token=<refreshToken>'
-
Verzend een post gebruikend accessToken, zodat kunt u zien of werkt het behoorlijk.
Integratie met AEM as a Cloud Service integration-with-aem-as-a-cloud-service
-
Maak een OSGI-eigenschappenbestand met de naam
com.day.cq.mailer.oauth.impl.OAuthConfigurationProviderImpl.cfg.json
onder/apps/<my-project>/osgiconfig/config
met de volgende syntaxis:code language-none { authUrl: "<Authorization Url>", tokenUrl: "<Token Url>", clientId: "<clientID>", clientSecret: "$[secret:SECRET_SMTP_OAUTH_CLIENT_SECRET]", scopes: [ "scope1", "scope2" ], authCodeRedirectUrl: "http://localhost", refreshUrl: "<Refresh token Url>", refreshToken: "$[secret:SECRET_SMTP_OAUTH_REFRESH_TOKEN]" }
-
Vul
authUrl
,tokenUrl
, enrefreshURL
in door hen te construeren zoals die in de vorige sectie wordt beschreven. -
Voeg de volgende Scopes aan de configuratie toe:
note note NOTE Scopes kunnen zich in de loop der tijd ontwikkelen. Werken met Microsoft® als deze niet werken zoals u had verwacht. https://outlook.office.com/SMTP.Send
openid
offline_access
email
profile
-
Een OSGI-eigenschappenbestand maken
called com.day.cq.mailer.DefaultMailService.cfg.json
onder/apps/<my-project>/osgiconfig/config
met de onderstaande syntaxis. Desmtp.host
ensmtp.port
waarden wijzen op geavanceerde voorzien van een netwerkconfiguratie, zoals die in het e-mailleerprogramma van de Dienstwordt beschreven.code language-none { "smtp.host": "$[env:AEM_PROXY_HOST;default=proxy.tunnel]", "smtp.user": "<user account that logged into get the oauth tokens>", "smtp.password": "value not used", "smtp.port": 30465, "from.address": "<from address used for sending>", "smtp.ssl": false, "smtp.starttls": true, "smtp.requiretls": true, "debug.email": false, "oauth.flow": true }
-
Voor de toekomst is de configuratiewaarde
smtp.host
smtp.office365.com
-
Bij runtime, ga in
refreshToken values
enclientSecret
geheimen over gebruikend de variabelen API van Cloud Managerof door Cloud Manager te gebruiken om variabelentoe te voegen. De waarden voor de variabelenSECRET_SMTP_OAUTH_REFRESH_TOKEN
enSECRET_SMTP_OAUTH_CLIENT_SECRET
moeten worden gedefinieerd.
Problemen oplossen troubleshooting
Als de mailservice niet correct werkt, moet u de refreshToken
opnieuw genereren zoals hierboven is beschreven en de nieuwe waarde doorgeven via de Cloud Manager API. Het duurt een paar minuten voordat de nieuwe waarde is geïmplementeerd.