Claim nedir; SAML attribute'tan farkı ne?
Kısa cevap
Claim, OpenID Connect ID token'ında, JWT'lerde ya da user info yanıtında kullanıcı hakkında taşınan ad-değer bilgisidir; ör. sub (kullanıcının sağlayıcıdaki benzersiz kimliği), email, name, groups (OpenID Connect Core 1.0 · Standard Claims). SAML'daki karşılığı assertion içindeki attribute'tur: ikisi aynı işi görür, biçimleri farklıdır. Claim JSON içinde, SAML attribute XML içinde taşınır ve adları sağlayıcıya göre değişir (SAML'da çoğunlukla URI biçiminde). TR7 AGS'de bu bilgiler Authentication Provider formundaki Custom User Attribute Mapping bölümünde JSONata ifadeleriyle AGS kullanıcı alanlarına (Username, Email, Display Name, Groups gibi) eşlenir; çoğu sağlayıcıda bu eşlemenin bir kısmı otomatik gelir. JSONata editöründe OAuth2 ve OpenID Connect için Identity Claims (OAuth2 / OIDC) bağlamı (user info yanıtı ile doğrulanmış ID token claim'lerinin birleşimi), SAML 2.0 için Assertion Attributes (SAML) bağlamı kullanılır.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| AGS → Authentication → Authentication Providers | User Attribute Mapping bilgi çubuğu ("… fields are filled in automatically for this provider") | Seçili tür ve sağlayıcı için otomatik eşlenen alanların görülmesi |
| Aynı form | Custom User Attribute Mapping: AGS attribute ↔ Source attribute (JSONata) | Claim ya da SAML attribute'larının AGS kullanıcı alanlarına elle eşlenmesi |
| Aynı form (OAuth2, OpenID Connect) | JSONata bağlamı Identity Claims (OAuth2 / OIDC) | Claim'ler üzerinde ifade yazılması |
| Aynı form (SAML 2.0) | JSONata bağlamı Assertion Attributes (SAML) | SAML attribute'ları üzerinde ifade yazılması |
| AGS etkin vService → Sessions | Username, Email, Groups ve özel kullanıcı alanı kolonları | Eşlemenin sonucunun oturumda görülmesi |
Karşılaştırma
| Claim | SAML attribute | |
|---|---|---|
| Protokol | OpenID Connect, OAuth 2.0 user info, JWT | SAML 2.0 |
| Taşıyan | ID token (JWT) ya da user info JSON yanıtı | Assertion (XML) |
| Ad örneği | email, groups | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
| TR7 JSONata bağlamı | Identity Claims (OAuth2 / OIDC) | Assertion Attributes (SAML) |
Sık Karıştırılan Noktalar
- "Claim adları her sağlayıcıda aynıdır."
sub,email,namegibi standart claim'ler dışındaki adlar sağlayıcıya göre değişir; farklı adlar Custom User Attribute Mapping ile eşlenir. - "Grup bilgisi her zaman gelir." Grup claim'i ya da attribute'u çoğu sağlayıcıda ayrıca açılır ya da scope ile istenir (OAuth scope nedir?).
- "Eşlenen her alan standart AGS alanı olmak zorundadır." Standart alanların dışında bir ad yazıldığında bu ad vService'te özel kullanıcı alanı olur;
_ile başlayan adlar gizli alan sayılır ve özel kullanıcı alanı üretmez.
Dokümantasyonda nasıl yapılır
