Iestatīt SSO ar Google Workspace¶
Google identitātes platforma atbilst OIDC un izmanto vienu, labi zināmu atklāšanas (discovery) URL visiem klientiem, tāpēc vienīgās organizācijai specifiskās vērtības ir klienta ID un slepenā atslēga.
Šis ceļvedis aptver Google pusi: OAuth klienta izveidi un vērtību vākšanu, kas nepieciešamas digna. digna puse — dashboard_config.toml, testēšana un problēmu novēršana — ir vienāda visiem sniedzējiem un aprakstīta Single Sign-On pārskats.
Pirms sākat¶
| Prasība | Piezīmes |
|---|---|
| Google Cloud project | Jebkurš projekts tajā pašā organizācijā, kurā atrodas jūsu Workspace domēns |
| Role | Editor vai Owner projektā |
| digna redirect URI | URL, uz kuru lietotāji tiek atgriezti pēc pieslēgšanās, piemēram https://digna.yourdomain.com/oidc/callback |
1. solis: Konfigurēt OAuth piekrišanas ekrānu¶
Google neizsniegs akreditācijas datus, kamēr piekrišanas ekrāns nebūs izveidots.
- Atveriet Google Cloud konsoli un izvēlieties savu projektu
- Dodieties uz APIs & Services → OAuth consent screen
- Izvēlieties lietotāja tipu:
- Internal — pieslēgties var tikai konti jūsu Workspace domēnā. Ieteicams.
- External — mēģināt pieslēgties var jebkurš Google konts.
- Aizpildiet lietotnes nosaukumu, lietotāju atbalsta e-pastu un izstrādātāja kontaktu e-pastu
- Sadaļā Scopes pievienojiet
openid,.../auth/userinfo.emailun.../auth/userinfo.profile - Saglabāt
Ārējām lietotnēm jābūt publicētām
External piekrišanas ekrāns sāk darbību Testing statusā, kur tikai konti, kas tieši pievienoti testlietotāju sarakstam, var pabeigt pieslēgšanos. Pārējiem tiek rādīts "digna has not completed the Google verification process". Vai nu pārslēdziet lietotni uz In production zem Publishing status, vai izmantojiet Internal — tam nav šāda ierobežojuma un tas ir pareizā izvēle, ja izvietojums ir tikai Workspace organizācijai.
2. solis: Izveidot OAuth klientu¶
- Dodieties uz APIs & Services → Credentials
- Noklikšķiniet Create Credentials → OAuth client ID
- Iestatiet Application type uz Web application
- Piešķiriet nosaukumu, piem.,
digna - Sadaļā Authorized redirect URIs noklikšķiniet Add URI un ievadiet:
- Noklikšķiniet Create
Authorized JavaScript Origins nav nepieciešami
digna apmaina autorizācijas kodu no backend puses, nevis pārlūkprogrammas, tāpēc lauku Authorized JavaScript origins var atstāt tukšu. Svarīgs ir tikai redirect URI.
3. solis: Savākt akreditācijas datus¶
Dialoglodziņš, kas parādās pēc izveides, rāda:
- Client ID — beidzas ar
.apps.googleusercontent.com→ kļūs parDIGNA_OIDC_CLIENT_ID - Client secret → kļūs par
DIGNA_OIDC_CLIENT_SECRET
Abas vērtības vēlāk varat atgūt no akreditācijas detaļu lapas, atšķirībā no daudziem citiem pakalpojumu sniedzējiem.
4. solis: Atklāšanas (Discovery) URL¶
Google izmanto vienu atklāšanas URL visiem klientiem — nav jāveic nekāda aizvietošana:
5. solis: Konfigurēt 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"
key abos failos jāatbilst — šeit google.
6. solis: Testēšana¶
Restartējiet backend un web serveri, pēc tam atveriet paneli. Skatīt Pieslēgšanās testēšana pilnai kontrolsarakstam.
Problēmu novēršana Google Workspace¶
Kļūda 400: redirect_uri_mismatch¶
URI, kas norādīts DIGNA_OIDC_REDIRECT_URI, nav iekļauts Authorized redirect URIs sarakstā, vai atšķiras ar papildslashi vai shēmu. Google kļūdas lapa parāda URI, ko tā saņēma — salīdziniet to rakstzīmi pa rakstzīmei ar reģistrēto URI.
Šī lietotne ir bloķēta / nav pabeigta verifikācija¶
Piekrišanas ekrāns ir iestatīts kā External un joprojām atrodas Testing režīmā. Publicējiet to, vai pārslēdziet lietotni uz Internal.
Piekļuve bloķēta: autorizācijas kļūda¶
Konts, kas mēģina pieslēgties, atrodas ārpus jūsu Workspace domēna, kamēr piekrišanas ekrāns ir Internal. Tas ir paredzēts uzvedība — Internal lietotnes pieņem tikai organizācijas kontus.
Izmaiņu propagācija aizņem vairākas minūtes¶
Google asinkroni izplata akreditācijas datus un piekrišanas ekrāna izmaiņas. Ja nesen pievienots redirect URI vai cits iestatījums šķiet nereģistrēts, pagaidiet dažas minūtes un mēģiniet vēlreiz pirms sarežģītākas izmeklēšanas.
Skatīt arī¶
- Single Sign-On pārskats — konfigurācijas atsauce, testēšana un vispārīga problēmu novēršana
- Google: OpenID Connect