Google Oauth2 napojení

  1. 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.

 

  1. 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.

  2. 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ů, ...).

  3. Uložit změny (nezapomenout kliknout na tlačítko "Uložit")!