TsgcHTTP_OAuth2_Server_Provider

Met deze component kunt u externe OAuth2-providers integreren (zoals Azure AD, Google, Facebook).

Inleiding

Met deze component kunt u externe OAuth2-providers (zoals Azure AD, Google, Facebook...) integreren in uw servercomponent (zoals een HTTP-server), zodat een gebruiker kan inloggen met de Azure AD-referenties en als de authenticatie geslaagd is, de HTTP-server toegang kan verlenen tot beveiligde resources.

 

De servercomponenten hebben een property genaamd Authorization.OAuth.OAuth2Provider waaraan u een instance van TsgcHTTP_OAuth2_Server_Provider kunt toewijzen, dus als Authentication is ingeschakeld en de OAuh2Provider-property aan het OAuth2 Provider Server-component is gekoppeld, vereisen de WebSocket- en HTTP-verzoeken een Cookie / Bearer Token om te worden verwerkt, zo niet dan wordt de verbinding automatisch gesloten.


    OAuth2Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
    Server.Authentication.Enabled := True;
    Server.Authentication.OAuth.OAuth2Provider := OAuth2Provider;

 

OAuth2-provider registreren

Voordat de server wordt gestart, moet u de OAuth2 Providers configureren die de server zal gebruiken om te authenticeren. Gebruik de methode RegisterProvider om de OAuth2 Providers te configureren. Deze methode heeft de volgende parameters:

 

 

Voorbeeld: om Azure AD te configureren is een tenant-id vereist die aan de OAuth2-URL's wordt toegevoegd, samen met ClientId, ClientSecret, Scope en een CallbackURL.

 

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'
);

 

Om een bestaande provider te verwijderen, gebruikt u de methode UnRegisterProvider.

Referentie

Handleidingen