Bu bileşen, Harici OAuth2 Sağlayıcılarını (Azure AD, Google, Facebook gibi) entegre etmenize olanak tanır.
Bu bileşen, Harici OAuth2 Sağlayıcılarını (Azure AD, Google, Facebook... gibi) sunucu bileşeninize (bir HTTP sunucusu gibi) entegre etmenize olanak tanır, böylece bir kullanıcı Azure AD kimlik bilgilerini kullanarak oturum açabilir ve kimlik doğrulaması başarılı olursa, HTTP sunucusu korumalı kaynaklara erişim sağlayabilir.
Sunucu bileşenleri, TsgcHTTP_OAuth2_Server_Provider örneği atayabileceğiniz Authorization.OAuth.OAuth2Provider adlı bir özelliğe sahiptir; bu nedenle Authentication etkinse ve OAuh2Provider özelliği OAuth2 Provider Server Bileşenine bağlıysa, WebSocket ve HTTP İstekleri işlenmek için bir Cookie / Bearer Token gerektirir; aksi takdirde bağlantı otomatik olarak kapatılır.
OAuth2Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
Server.Authentication.Enabled := True;
Server.Authentication.OAuth.OAuth2Provider := OAuth2Provider;
Sunucu başlatılmadan önce, sunucunun kimlik doğrulama için kullanacağı OAuth2 Sağlayıcılarını yapılandırmanız gerekir. OAuth2 Sağlayıcılarını yapılandırmak için RegisterProvider yöntemini kullanın; bu yöntem aşağıdaki parametrelere sahiptir:
Örnek: Azure AD'yi yapılandırmak için, OAuth2 URL'lerine eklenen bir tenant-id, ClientId, ClientSecret, Scope ve bir CallbackURL gerekir.
RegisterProvider(
'azure',
'90945b8d-f6b7-4b97-b2bd-21c3c90b5f3x',
'PN67Q~5m06c-~X_GMyMf9zMntmm5l2dt~3jVq',
'https://login.microsoftonline.com/a0ca2055-5dd1-467f-bf13-291f6fd715c6/oauth2/v2.0/authorize',
'https://login.microsoftonline.com/a0ca2055-5dd1-467f-bf13-291f6fd715c6/oauth2/v2.0/token',
'user.read',
'/login',
'https://localhost/callback'
);
Mevcut bir Provider'ı silmek için UnRegisterProvider yöntemini kullanın.