Questo componente Le consente di integrare provider OAuth2 esterni (come Azure AD, Google, Facebook.
Questo componente consente di integrare provider OAuth2 esterni (come Azure AD, Google, Facebook...) nel componente server (come un server HTTP), in modo che un utente possa effettuare l'accesso utilizzando le credenziali di Azure AD e, se l'autenticazione ha esito positivo, il server HTTP possa fornire accesso alle risorse protette.
I componenti server dispongono di una proprietà denominata Authorization.OAuth.OAuth2Provider a cui è possibile assegnare un'istanza di TsgcHTTP_OAuth2_Server_Provider; se Authentication è abilitato e la proprietà OAuth2Provider è collegata al componente OAuth2 Provider Server, le richieste WebSocket e HTTP richiedono un Cookie/Bearer Token per essere elaborate, altrimenti la connessione viene chiusa automaticamente.
OAuth2Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
Server.Authentication.Enabled := True;
Server.Authentication.OAuth.OAuth2Provider := OAuth2Provider;
Prima di avviare il server, è necessario configurare i Provider OAuth2 che il server utilizzerà per l'autenticazione. Utilizzare il metodo RegisterProvider per configurare i Provider OAuth2; questo metodo ha i seguenti parametri:
Esempio: per configurare Azure AD, è necessario un tenant-id che viene aggiunto agli URL OAuth2, ClientId, ClientSecret, Scope e un 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'
);
Per eliminare un Provider esistente, utilizzare il metodo UnRegisterProvider.