TsgcHTTP_OAuth2_Server

Bu bileşen, Sunucu Tarafı Bileşenlerde OAuth2 protokol uygulamasını sağlar.

Giriş

Bu bileşen, Sunucu Tarafı Bileşenlerde OAuth2 protokol uygulamasını sağlar.

Sunucu bileşenleri, bir TsgcHTTP_OAuth2_Server örneği atayabileceğiniz Authorization.OAuth.OAuth2 adlı bir özelliğe sahiptir; bu nedenle Authentication etkinleştirilmiş ve OAuth2 özelliği OAuth2 Sunucu Bileşenine eklenmişse, WebSocket ve HTTP İstekleri işlenmek için bir Bearer Token gerektirir, aksi takdirde bağlantı otomatik olarak kapatılır.


    OAuth2 := TsgcHTTP_OAuth2_Server.Create(nil);
    Server.Authentication.Enabled := True;
    Server.Authentication.OAuth.OAuth2 := OAuth2;

Sunucu aşağıdaki yetkilendirme türlerini destekler:

Yetkilendirme türü, Uygulama kaydedilirken özelleştirilebilir; varsayılan olarak tüm yetkilendirme türleri desteklenir.

EndPoints

Varsayılan olarak, bileşen Authorization ve Token isteklerini işlemek için aşağıdaki uç noktalarla yapılandırılmıştır

Authorization: /sgc/oauth2/auth

Token: /sgc/oauth2/token

Revocation: /sgc/oauth2/revoke

Introspection: /sgc/oauth2/introspect

Device Authorization: /sgc/oauth2/device

Device Verification: /sgc/oauth2/device/verify

Yani sunucu 443 numaralı bağlantı noktasını dinliyorsa ve etki alanı www.esegece.com ise, EndPoints şöyle olacaktır:

Authorization: https://www.esegece.com/sgc/oauth2/auth

Token: https://www.esegece.com/sgc/oauth2/token

Revocation: https://www.esegece.com/sgc/oauth2/revoke

Introspection: https://www.esegece.com/sgc/oauth2/introspect

Device Authorization: https://www.esegece.com/sgc/oauth2/device

Device Verification: https://www.esegece.com/sgc/oauth2/device/verify

Uç noktalar OAuth2Options özelliğinde yapılandırılabilir.

Varsayılan olarak PKCE (CSRF ve yetkilendirme kodu enjeksiyon saldırılarını önlemek için Authorization Code akışına bir uzantıdır) etkindir.

Configuration

OAuth2 sürecine başlamadan önce, hangi Uygulamaların kullanılabilir olacağını kaydetmelisiniz; bu, OAuth2 sunucu bileşeninin Apps özelliği kullanılarak yapılır.

Uygulama Kaydet

OAuth2 sunucusuna yeni bir Uygulama eklemek için Apps.AddApp kullanın, aşağıdaki parametreleri ayarlamanız gerekir:

İsteğe bağlı olarak aşağıdaki parametreleri ayarlayabilirsiniz:

Delete App

Mevcut bir App'i silmek için Apps.RemoveApp'i kullanın.

AddToken

Bazı token'lar verilmişken sunucu yeniden başlatıldıysa, bu token'ları OAuth2 Sunucusunu başlatmadan önce ve Uygulamaları kaydettikten sonra AddToken yöntemini kullanarak kurtarabilirsiniz

RemoveToken

Zaten verilmiş bir Token'i kaldırır.

OAuth2Options

OAuth2Options özelliği, sunucu uç noktalarını ve isteğe bağlı özellikleri yapılandırmaya olanak tanır.

İptal

RFC 7009'a göre token iptali. Etkinleştirildiğinde, istemciler daha önce verilmiş erişim veya refresh token'larını iptal edebilir.

Introspection

RFC 7662 uyarınca token incelemesi (introspection). Etkinleştirildiğinde, kaynak sunucular bir token'ın etkin durumunu ve meta verilerini belirlemek için yetkilendirme sunucusunu sorgulayabilir.

DeviceAuthorization

RFC 8628 uyarınca Device Authorization Grant. Etkinleştirildiğinde, giriş kısıtlamalı cihazlar, kullanıcının ikincil bir cihazda yetkilendirmesini sağlayarak yetkilendirme isteyebilir.

 

Başvuru

Kılavuzlar