Bu konu, OpenID Connect (OIDC) protokolünü kullanarak uygulamanız için tek oturum açma (SSO) işlemini nasıl yapılandıracağınızı açıklar. Uygulama türünüz için uygun yetkilendirme türünün nasıl seçileceği, IDaaS tarafındaki yapılandırmanın nasıl tamamlanacağı ve uygulamanızın SSO akışını başlatıp tamamlaması için gereken uç noktaların nasıl elde edileceği bu konuda ele alınmaktadır.
IDaaS'ın desteklediği SSO protokollerinin tam listesi için bkz. Standart protokoller .
Ön Koşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:
Uygulama oluşturulmuş bir IDaaS örneği
Uygulamayı yapılandırmak için IDaaS konsoluna erişim
Yetkilendirme Türü Seçimi
İlk olarak uygulama türünüzü belirleyin, ardından ilgili yetkilendirme türlerini seçin.
| Uygulama türü | Önerilen yetkilendirme türleri |
|---|---|
| Standart web uygulaması | Authorization Code + Refresh Token |
| Tarayıcı olmayan cihaz (TV, CLI, IoT) | Device Authorization Grant + Refresh Token |
Aşağıdaki tabloda her bir yetkilendirme türü açıklanmıştır:
| Yetkilendirme türü | Açıklama |
|---|---|
Authorization Code (authorization_code) |
En yaygın oturum açma yöntemidir. Uygulama, kimlik doğrulamayı IDaaS'a devreder ve döndürülen id_token değerini ayrıştırarak oturum açma doğrulamasını tamamlar. |
Refresh Token (refresh_token) |
Oturum geçerliliğini uzatmak için bir access_token yeniler. Authorization Code veya Device Authorization Grant ile birlikte kullanın. |
Device Authorization Grant (device) |
Tarayıcı olmayan uygulamalar içindir. Bir cihaz IDaaS oturum açma sayfasını doğrudan görüntüleyemediğinde, kullanıcıların ayrı bir tarayıcı oturumu aracılığıyla oturum açmayı tamamlamasına olanak tanır. |
Client Credentials (client_credentials) |
Bir uygulamanın, IDaaS Geliştirici API'lerini çağırmak üzere bir sunucu belirteci almak için client_id ve client_secret değerlerini kullanmasına izin verir. API erişimi etkinleştirildiğinde otomatik olarak açılır; manuel seçim gerekmez. |
IDaaS şu anda diğer OIDC yetkilendirme türlerini desteklememektedir. Ek yetkilendirme türleri talep etmek için bir istek gönderin . İstekler öncelik bazında planlanır.
IDaaS Tarafı Yapılandırması
Temel Yapılandırma (Zorunlu)
| Alan | Açıklama | Örnek |
|---|---|---|
| Authorization mode | Uygulamanız için yetkilendirme türlerini seçin. | Authorization Code, Refresh Token |
| Logon Redirect URIs | Yönlendirme URI'lerinin izin listesidir. Her kimlik doğrulama isteğindeki redirect_uri bu listedeki bir girişle eşleşmelidir. |
http://www.example.com/oidc/sso |
| Authorization scope | Hangi kullanıcıların uygulamaya erişebileceğini kontrol eder. Bkz. SSO genel bakış. | Tüm kullanıcılar erişebilir |
Gelişmiş Yapılandırma (İsteğe Bağlı)
| Alan | Açıklama | Örnek |
|---|---|---|
User information scope (scopes) |
Oturum açma sonrasında UserInfo uç noktasından alınabilen kullanıcı nitelikleri. Desteklenen değerler: openid, email, phone, profile. |
openid, email, profile |
| PKCE | Authorization Code seçildiğinde kullanılabilir. Daha güvenli bir yetkilendirme akışı için Proof Key for Code Exchange (PKCE) uzantısını etkinleştirir. Varsayılan olarak devre dışıdır. | Devre Dışı |
| `code` validity period | Bir yetkilendirme kodunun belirteçlerle değiştirilebileceği süre. Saniye veya dakika cinsinden pozitif bir tamsayı kabul edilir. Min: 60 saniye. Maks: 30 dakika (1.800 saniye). Bu aralığın dışındaki değerler otomatik olarak ayarlanır. | 5 dakika |
| Code Challenge method | PKCE Code Challenge yönteminin nasıl oluşturulacağını belirtir. Yalnızca PKCE etkinleştirildiğinde görüntülenir. | — |
| `access_token` validity period | IDaaS API'lerini çağırmak için kullanılan belirteç. Varsayılan: 2 saat. Süresi dolduktan sonra yeni bir tane almak için bir yenileme belirteci kullanın veya yeniden oturum açın. | 2 saat |
| `id_token` validity period | Kullanıcıyı tanımlamak için kullanılan belirteç. JSON Web Token (JWT) formatındadır ve bir genel anahtar kullanılarak doğrulanır. Varsayılan: 10 saat. Süresi dolduktan sonra yeni bir tane almak için bir yenileme belirteci kullanın veya yeniden oturum açın. | 10 saat |
| `refresh_token` validity period | Yeni access_token ve id_token değerleri elde etmek için kullanılır. Süresi dolduktan sonra kullanıcının yeniden oturum açması gerekir. Varsayılan: 30 gün. |
30 gün |
| Extend `id_token` fields | id_token yüküne temel, hassas olmayan kullanıcı nitelikleri ekleyerek UserInfo uç noktasına yapılan tekrarlayan çağrıları azaltır. Yüke eklenen tüm alanlar herkese açıktır; yalnızca genel görünüme uygun nitelikleri dahil edin. Bkz. OIDC id_token uzantı değeri teknik özellikleri. |
— |
| `id_token` signature algorithm | id_token imzalamak için kullanılan asimetrik algoritma. Yalnızca RSA-SHA256 desteklenir. |
RSA-SHA256 |
| SSO initiator | Oturum açmanın yalnızca uygulama tarafından mı yoksa IDaaS portalından da mı başlatılabileceğini kontrol eder. | Yalnızca uygulama tarafından başlatılan |
| Logon initiation URL | SSO başlatıcı hem portal hem de uygulama başlatmayı desteklediğinde kullanılabilir. IDaaS'ın bir SSO isteğini başlatmak için çağırdığı uygulama URL'sidir. Bu URL, isteği aldığında derhal IDaaS /authorize uç noktasına yönlendirmelidir. |
— |
code geçerlilik süresi: otomatik ayarlama davranışı
Girilen değer izin verilen aralığın dışındaysa IDaaS bunu otomatik olarak ayarlar:
| Birim | Giriş | Etkili değer |
|---|---|---|
| Dakika | 3 | 5 dakika (minimum) |
| Dakika | 40 | 30 dakika (maksimum) |
| Saniye | 30 | 60 saniye (minimum) |
| Saniye | 2000 | 1.800 saniye (maksimum) |
Uygulama Tarafı Yapılandırması
OIDC istemciniz Discovery protokolünü destekliyorsa Discovery uç noktası ile başlayın; istemciniz diğer tüm uç nokta URL'lerini buradan otomatik olarak alır. İstemciniz OIDC Discovery'yi desteklemiyorsa yalnızca bireysel uç noktaları manuel olarak yapılandırın.
| Uç nokta | Açıklama | Örnek URL |
|---|---|---|
| Issuer | Belirteç kaynağını tanımlar ve tüm uç noktalar için temel URL olarak hizmet eder. | https://xxxxx.aliyunidaas.com.cn/oidc1 |
| Discovery endpoint | Uç nokta URL'lerini, desteklenen yetkilendirme türlerini ve diğer meta verileri döndürür. Herkese açıktır. Diğer tüm uç noktaları otomatik olarak yapılandırmak için OIDC istemcinizi buraya yönlendirin. | https://xxxxx.aliyunidaas.com.cn/oidc1/.well-known/openid-configuration |
| Authorization endpoint | Uygulamanızın kullanıcıları oturum açmak için yönlendirdiği adrestir. | https://xxxxx.aliyunidaas.com.cn/oidc/authorize |
| Token endpoint | Bir yetkilendirme kodunu belirteçlerle değiştirmek için arka ucunuz tarafından çağrılır. | https://xxxxx.aliyunidaas.com.cn/oidc/token |
| JWKS endpoint | id_token imzasını doğrulamak için kullanılan genel anahtarları sağlar. Genel anahtar rotasyonu desteklenmez. |
https://xxxxx.aliyunidaas.com.cn/oidc1/jwks |
| UserInfo endpoint | Geçerli bir access_token ile çağrıldığında temel kullanıcı niteliklerini döndürür. |
https://xxxxx.aliyunidaas.com.cn/oidc1/userinfo |
| End session endpoint (SLO) | Kullanıcıyı IDaaS ana oturumundan çıkarır. | https://xxxxx.aliyunidaas.com.cn/oidc1/logout |
Sonraki Adımlar
Standart protokoller — IDaaS tarafından desteklenen diğer SSO protokollerini keşfedin
OIDC id_token uzantı değeri teknik özellikleri — id_token yükünü özelleştirin
SSO genel bakış — yetkilendirme kapsamı seçeneklerini anlayın