Ota SSO käyttöön Google Workspacen kanssa¶
Googlen identiteettialusta on OIDC-yhteensopiva ja käyttää yhtä, hyvin tunnettua discovery-URL:ia kaikille asiakkaille, joten ainoat organisaatiokohtaiset arvot ovat client ID ja secret.
Tämä ohje kattaa Google-puolen: OAuth-asiakkaan luomisen ja dignan tarvitsemien arvojen keräämisen. digna-puoli — dashboard_config.toml, testaus ja vianmääritys — on sama kaikille palveluntarjoajille ja kuvataan Single Sign-On - Yleiskatsaus.
Ennen aloittamista¶
| Vaatimus | Huomautukset |
|---|---|
| Google Cloud -projekti | Mikä tahansa projekti samassa organisaatiossa kuin Workspace-domainisi |
| Rooli | Editor tai Owner projektissa |
| digna-uudelleenohjaus-URI | URL johon käyttäjät palaavat kirjautumisen jälkeen, esim. https://digna.yourdomain.com/oidc/callback |
Vaihe 1: Määritä OAuth-suostumusnäyttö¶
Google ei myönnä tunnistetietoja ennen kuin suostumusnäyttö on olemassa.
- Avaa Google Cloud -konsoli ja valitse projektisi
- Siirry kohtaan APIs & Services → OAuth consent screen
- Valitse käyttäjätyyppi:
- Internal — vain tilit Workspace-domainissasi voivat kirjautua. Suositeltava.
- External — mikä tahansa Google-tili voi yrittää kirjautua.
- Täytä sovelluksen nimi, käyttäjätuki-sähköposti ja kehittäjän yhteyssähköposti
- Kohdassa Scopes lisää
openid,.../auth/userinfo.emailja.../auth/userinfo.profile - Tallenna
Ulkoiset sovellukset on julkaistava
External-tyyppinen suostumusnäyttö aloittaa Testing-tilassa, jossa vain nimenomaisesti testikäyttäjälistaan lisätyt tilit voivat suorittaa kirjautumisen loppuun. Muut käyttäjät näkevät viestin "digna has not completed the Google verification process". Vaihda sovellus In production -tilaan kohdasta Publishing status, tai käytä Internal-tyyppiä — sillä ei ole tätä rajoitusta ja se on oikea valinta vain Workspacea varten otettaessa käyttöön.
Vaihe 2: Luo OAuth-asiakas¶
- Siirry kohtaan APIs & Services → Credentials
- Napsauta Create Credentials → OAuth client ID
- Aseta Application type kohtaan Web application
- Anna nimi, esim.
digna - Kohtaan Authorized redirect URIs napsauta Add URI ja syötä:
- Napsauta Create
Valtuutettuja JavaScript-origin-ei tarvita
digna vaihtaa valtuutuskoodin backendissä, ei selaimessa, joten kenttä Authorized JavaScript origins voidaan jättää tyhjäksi. Ainoastaan uudelleenohjaus-URI on merkityksellinen.
Vaihe 3: Kerää tunnistetiedot¶
Luo-muodon jälkeen avautuva dialogi näyttää:
- Client ID — päättyy
.apps.googleusercontent.com→ tästä tuleeDIGNA_OIDC_CLIENT_ID - Client secret → tästä tulee
DIGNA_OIDC_CLIENT_SECRET
Molemmat ovat myöhemmin haettavissa tunnistetietojen yksityiskohtasivulta, toisin kuin useimmilla muilla palveluntarjoajilla.
Vaihe 4: Discovery-URL¶
Google käyttää yhtä discovery-URL:ia kaikille asiakkaillle — mitään arvojen korvaamista ei tarvita:
Vaihe 5: Konfiguroi digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.google]
DIGNA_OIDC_CLIENT_ID = "123456789-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com"
DIGNA_OIDC_CLIENT_SECRET = "<the client secret copied in Step 3>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://accounts.google.com/.well-known/openid-configuration"
Molempien tiedostojen key-arvon on täsmättävä — tässä google.
Vaihe 6: Testaa¶
Käynnistä backend ja web-palvelin uudelleen, ja avaa sen jälkeen dashboard. Katso Kirjautumisen testaus täydellinen tarkistuslista.
Vianmääritys Google Workspacessa¶
Error 400: redirect_uri_mismatch¶
DIGNA_OIDC_REDIRECT_URI:ssa oleva URI ei ole Authorized redirect URIs -listalla, tai se poikkeaa loppuviivan tai protokollan (http/https) osalta. Googlen virhesivu näyttää vastaanotetun URI:n — vertaa sitä merkki merkiltä rekisteröityyn URI:hin.
This App Is Blocked / Has Not Completed Verification¶
Suostumusnäyttö on External ja edelleen Testing-tilassa. Julkaise se tai vaihda sovellus Internal-tyyppiin.
Access Blocked: Authorization Error¶
Kirjautumista yrittävä tili on Workspace-domainisi ulkopuolella, kun suostumusnäyttö on Internal. Tämä on odotettu käytös — Internal-sovellukset hyväksyvät vain organisaation tilejä.
Muutosten leviämiseen kuluu useita minuutteja¶
Google levittää tunnistetieto- ja suostumusnäyttömuutoksia asynkronisesti. Äskettäin lisäyksiin rekisteröity uudelleenohjaus-URI voi ottaa muutaman minuutin ennen kuin se tulee voimaan; jos muutos vaikuttaa ohitetulta, odota hetki ja yritä uudelleen ennen kuin alat tutkia muita syitä.
Katso myös¶
- Single Sign-On - Yleiskatsaus — konfiguraatioreferenssi, testaus ja yleinen vianmääritys
- Google: OpenID Connect