TsgcHTTP_OAuth2_Server_Provider

Ce composant vous permet d'intégrer des fournisseurs OAuth2 externes (comme Azure AD, Google, Facebook).

Introduction

Ce composant vous permet d'intégrer des fournisseurs OAuth2 externes (comme Azure AD, Google, Facebook...) dans votre composant serveur (comme un serveur HTP), afin qu'un utilisateur puisse se connecter avec ses identifiants Azure AD et, si l'authentification réussit, le serveur HTTP peut fournir l'accès aux ressources protégées.

 

Les composants serveur ont une propriété appelée Authorization.OAuth.OAuth2Provider où vous pouvez assigner une instance de TsgcHTTP_OAuth2_Server_Provider. Si l'authentification est activée et que la propriété OAuth2Provider est attachée au composant serveur fournisseur OAuth2, les requêtes WebSocket et HTTP nécessitent un cookie / jeton Bearer pour être traitées, sinon la connexion sera fermée automatiquement.


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

 

Enregistrer un fournisseur OAuth2

Avant de démarrer le serveur, vous devez configurer les fournisseurs OAuth2 que le serveur utilisera pour l'authentification. Utilisez la méthode RegisterProvider pour configurer les fournisseurs OAuth2 ; cette méthode possède les paramètres suivants :

 

 

Exemple : pour configurer Azure AD, un tenant-id doit être ajouté aux URL OAuth2, ainsi que ClientId, ClientSecret, Scope et une 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'
);

 

Pour supprimer un fournisseur existant, utilisez la méthode UnRegisterProvider.

Référence

Guides