Google Oauth2 napojení
V developer consoli vytvořit nový nebo použít stávající projekt:
https://console.developers.google.com/project
2. V navigation menu projektu jít na záložku "APIs & Services":
4. V "APIs & Services - OAuth consent screen" vytvořit potvrzovací okno, které uvidí uživatele při přesměrování na přihlášení.
Zvolit možnost External
5. Vyplnit stačí pouze povinné položky:
6. Po dokončení vytvoření (4 kroky – SAVE AND CONTINUE) změnit tlačítkem "PUBLISH APP" Publishing status z "Testing" na "In production":
7. V "APIs & Services - Library" najít a povolit Gmail API:
8. V "APIs & Services - Credentials" vytvořit nové pověření (+ CREATE CREDENTIALS)
Zvolit možnost "OAuth client ID”
"Application type" zvolit "Web application":
9. "Authorized redirect URIs" přidat novou adresu pro přesměrování po přihlášení přes "+ ADD URI". Adresa pro přesměrování je ve formátu "nazevinstance ticketingu"/AuthCallback/IndexAsync. Takže např. pro náš demo ticketing: https://ipex-demo3.servicedesk.net/AuthCallback/IndexAsync
10. Po dokončení vytvoření pověření se zobrazí "client ID" a "client secret", které je potřeba při vytvoření/úpravě připojení schránky vyplnit v ticketingu a zmáčknout tlačítko Login:
11. Při prvním přihlášení vyskočí bezpečnostní upozornění, kde je potřeba rozkliknout "Rozšířené možnosti" a poté "Přejít na web Servicedesk (nebezpečné)"
Zobrazí se seznam práv, které aplikace požaduje. Zde je potřeba zaškrtnout jedinou nevybranou položku - "Čtení, psaní, odesílání a trvalé mazání e-mailů v Gmailu." (Pokud jí nezaškrtnete a potvrdíte bez ní, tak budete dostávat chybu 400). Pak je potřeba toto povolení potvrdit přes tlačítko "Změnit" znovu projít přihlášení viz předchozí obrazovka s bezpečnostním upozorněním.
Důležité:. V sekci Security settings na google, viz níže, nastavte „Never requaire re-authentication“
Vysvětlení k refreshi tokenů
Expirace tokenu se v Google nedá nastavit. Při přihlášení přes OAuth vygeneruje Google access token pro přístup, který platí 1h. Po 1h přestane platit a je potřeba ho obnovit přes refresh token, který je součástí access tokenu. Google ale refresh token přidává do access tokenu pouze pokud při přihlašování přes OAuth dojde k odsouhlasení přístupových práv, což je vyžadováno pouze při prvním přihlašování s daným účtem. Při opětovném přihlašování stejným účtem už se přístupová práva nepotvrzují a Google vygeneruje access token bez refresh tokenu (důvod není zřejmý). Proto po 1h nestane ta chyba s refreshem tokenu.
Je tedy potřeba udělat opět tento postup, aby se při přihlašování přes OAuth zobrazilo odsouhlasení práv. V kroku, kde se odsouhlasují práva se prosím ujistěte, že jsou zatržená všechna práva v seznamu. Tímto postupem získáte access token, který bude obsahovat i refresh token.
Pod účtem, který používá k přihlášení ve schránce, se přihlásit na https://myaccount.google.com/u/0/permissions a tam odebrat přístup pro vaši aplikaci, kterou používate pro přístup k Gmailu.
V nastavení příchozí emailové schránky v Requestoru, přes tlačítko "Změnit", se znovu přihlásit a odsouhlasit práva pro přístup (čtení emailů, odesílání emailů, ...).
Uložit změny (nezapomenout kliknout na tlačítko "Uložit")!