Auth0 ile SSO Kurulumu¶
Auth0 OIDC uyumludur ve her kiracı için bir keşif uç noktası sunar. Doğru yapılması gereken asıl şey, keşif URL'sinde yer alan ve özel bir alan adı etkinleştirirseniz değişen kiracı alan adıdır.
Bu kılavuz Auth0 tarafını kapsar: uygulamayı oluşturma ve digna'nın ihtiyaç duyduğu değerleri toplama. digna tarafı (dashboard_config.toml, test ve sorun giderme) her sağlayıcı için aynıdır ve Çoklu Oturum Açma Genel Bakış sayfasında açıklanmıştır.
Başlamadan Önce¶
| Gereksinim | Notlar |
|---|---|
| Auth0 rolü | Kiracıda yönetici |
| Kiracı alan adı | ör. yourcompany.eu.auth0.com; bölge kısmı önemlidir |
| digna yönlendirme URI'si | Kullanıcıların oturum açtıktan sonra döndüğü URL, ör. https://digna.yourdomain.com/oidc/callback |
Adım 1: Uygulamayı Oluşturun¶
- Auth0 Dashboard'da oturum açın
- Applications → Applications bölümüne gidin
- Create Application'a tıklayın
- Uygulamaya
dignaadını verin ve Regular Web Applications'ı seçin - Create'e tıklayın
Regular Web Applications'ı Seçin
Single Page Application ve Native, gizli anahtarı olmayan genel istemciler oluşturur. digna kod değişimini arka ucundan gerçekleştirir ve gizli (confidential) bir istemciye ihtiyaç duyar; bu nedenle doğru tür Regular Web Applications'dır. Bazı sağlayıcıların aksine Auth0, türü daha sonra Settings → Application Type altından değiştirmenize izin verir.
Adım 2: Geri Çağırma URL'sini Ekleyin¶
Uygulamanın Settings sekmesinde:
- Allowed Callback URLs alanını bulun
- digna geri çağırma URL'nizi girin:
- İsteğe bağlı olarak Allowed Logout URLs alanını dashboard URL'niz olarak ayarlayın
- Sayfanın en altına kaydırın ve Save Changes'a tıklayın
Satır Sonuyla Değil, Virgülle Ayrılmış
Auth0 bu alanda virgülle ayrılmış birden fazla geri çağırma URL'sini kabul eder. Yalnızca satır sonlarıyla ayrılmış bir liste tek bir hatalı URL olarak okunur ve fark edilmeden hiçbir şeyle eşleşmez.
Adım 3: Kimlik Bilgilerini Toplayın¶
Yine Settings sekmesinde, Basic Information panelinde:
- Domain → keşif URL'sine girer
- Client ID →
DIGNA_OIDC_CLIENT_IDolur - Client Secret →
DIGNA_OIDC_CLIENT_SECRETolur (görmek için tıklayın)
Adım 4: İzin Türünü Doğrulayın¶
- Settings → Advanced Settings → Grant Types bölümüne gidin
- Authorization Code seçeneğinin işaretli olduğunu doğrulayın
Bu, Regular Web Applications için varsayılan olarak etkindir. İşareti kaldırılmışsa digna'da oturum açma unauthorized_client hatasıyla başarısız olur.
Adım 5: Keşif URL'sini Oluşturun¶
Adım 3'teki Domain değerini yerine koyun:
Örneğin:
Özel Alan Adları Yayıncıyı (Issuer) Değiştirir
Kiracınız login.yourcompany.com gibi özel bir alan adı kullanıyorsa keşif URL'sinde o alan adını kullanın. İkisini karıştırmak (keşif URL'sinde standart alan adı, tarayıcıda özel alan adı) bir issuer uyuşmazlığına yol açar ve token, aksi halde başarılı olan bir oturum açmanın ardından reddedilir.
Adım 6: digna'yı Yapılandırın¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc_clients.auth0]
DIGNA_OIDC_CLIENT_ID = "aBcDeFgHiJkLmNoPqRsTuVwXyZ123456"
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://yourcompany.eu.auth0.com/.well-known/openid-configuration"
Her iki dosyadaki key eşleşmelidir; burada auth0.
Adım 7: Test Edin¶
Arka ucu ve web sunucusunu yeniden başlatın, ardından dashboard'u açın. Tam kontrol listesi için bkz. Oturum Açmayı Test Etme.
Auth0 Sorunlarını Giderme¶
Geri Çağırma URL'si Uyuşmazlığı¶
Auth0'ın hata sayfası aldığı URL'yi belirtir. Girişlerin virgülle ayrıldığını kontrol ederek bu URL'yi Allowed Callback URLs alanına ekleyin.
unauthorized_client¶
Advanced Settings → Grant Types altında Authorization Code etkin değil veya uygulama türü Regular Web Applications değil.
Başarılı Oturum Açmanın Ardından Erişim Reddediliyor¶
Kiracıdaki bir Rule, Action veya Post-Login tetikleyicisi kullanıcıyı reddediyor. Actions → Flows → Login bölümünü ve tam nedeni gösteren Monitoring → Logs altındaki kiracı günlüklerini kontrol edin.
Issuer Uyuşmazlığı¶
Keşif URL'si ile tarayıcının yönlendirildiği alan adı farklı; genellikle standart kiracı alan adı ile özel alan adı arasındaki fark. Tutarlı bir şekilde birini kullanın.
Ayrıca Bakınız¶
- Çoklu Oturum Açma Genel Bakış: yapılandırma başvurusu, test ve genel sorun giderme
- Auth0: OpenID Connect Discovery