Wanneer een client een nieuw toegangstoken nodig heeft, wordt er automatisch een HTTP-server gestart om de respons van de autorisatieserver te verwerken.
Dit component stelt u in staat de stroom te beheren tussen de client en de andere rollen. Wanneer u Active := True instelt, opent het een nieuwe webbrowser en vraagt het de gebruiker om autorisatie te verlenen. Als dit lukt, stuurt de autorisatieserver een token naar de toepassing die wordt verwerkt. Met dit token kan de client verbinding maken met de resource-server. Dit component start een eenvoudige HTTP-server die autorisatieserverantwoorden afhandelt en gebruikt een HTTP-client om toegangstokens aan te vragen.
GrantType
De client ondersteunt de volgende soorten autorisatie:
auth2Code: Wordt gebruikt voor authenticatie en autorisatie in de meeste applicatietypen, inclusief single page applications, webapplicaties en native geïnstalleerde applicaties. De stroom stelt apps in staat veilig access_tokens te verkrijgen die kunnen worden gebruikt om beveiligde resources te benaderen, evenals refresh tokens voor aanvullende access_tokens en ID-tokens voor de aangemelde gebruiker.

auth2CodePKCE: dit is dezelfde authenticatieflow als auth2Code, maar met PKCE ingeschakeld. PKCE (Proof Key for Code Exchange) is een beveiligingsuitbreiding voor OAuth 2.0, ontworpen om de beveiliging van autorisatieflows voor native en single-page-applicaties te verbeteren. Het beperkt het risico op onderscheppingsaanvallen, vooral bij publieke clients waar de autorisatiecode tijdens het transport kan worden onderschept. Doorgaans wordt deze optie gebruikt in native en mobiele apps.
auth2ClientCredentials: This type of grant is commonly used for server-to-server interactions that must uitvoeren in the background, without immediate interaction with a user. These types of applications are vaak referred to as daemons or service accounts.

auth2DeviceCode: Apparaatgoedkeuringsgrant (RFC 8628) voor invoerbeperkte apparaten zoals smart-tv's, mediaconsoles en IoT-apparaten die geen browser hebben of beperkte invoermogelijkheden. Het apparaat toont een gebruikerscode en verificatie-URI; de gebruiker bezoekt de URI op een secundair apparaat (telefoon of computer) en voert de code in om toestemming te verlenen.
LocalServerOptions
Wanneer een client een nieuw Access Token nodig heeft, start het automatisch een HTTP-server om het antwoord van de autorisatieserver te verwerken. Deze server is transparant voor de gebruiker en werkt gewoonlijk op localhost. Standaard wordt poort 8080 gebruikt, maar u kunt dit aanpassen indien nodig.
AuthorizationServerOptions
Hier moet u de URL instellen voor autorisatie en toegangstoken; deze worden doorgaans verstrekt in de API-specificatie. Scope is een lijst van alle scopes die door de client worden aangevraagd. Voorbeeld:
OAuth2Options
ClientId is een verplicht veld dat de server informeert over de identificatie van de client. Raadpleeg uw API-specificatie om te weten hoe u een ClientId kunt verkrijgen. Hetzelfde geldt voor het clientgeheim.
Soms vereist de server een gebruikersnaam en wachtwoord voor verbinding via basisauthenticatie; in dat geval kunt u dit instellen in de velden Gebruikersnaam/Wachtwoord. Voorbeeld:
HTTPClientOptions
Hier kunt u de clientopties aanpassen bij het verbinden met de HTTP-server om een nieuw token aan te vragen.
TLSOptions: als TLS is ingeschakeld, kunt u hier bepaalde TLS-eigenschappen aanpassen.
ALPNProtocols: lijst van de ALPN-protocollen die naar de server worden verzonden.
RootCertFile: pad naar het basiscertificaatbestand.
CertFile: pad naar het certificaatbestand.
KeyFile: pad naar het certificaatsleutelbestand.
Password: als het certificaat met een wachtwoord is beveiligd, stelt u dit hier in.
VerifyCertificate: als het certificaat moet worden geverifieerd, schakel deze eigenschap in.
VerifyDepth: is een Integer-eigenschap die het maximale aantal koppelingen vertegenwoordigt dat is toegestaan bij verificatie van het X.509-certificaat.
Version: standaard gebruikt TLS 1.0; als de server een hogere TLS-versie vereist, kan hier worden geselecteerd.
IOHandler: selecteer welke bibliotheek u gebruikt om verbinding te maken via TLS.
iohOpenSSL: gebruikt de OpenSSL-bibliotheek en is de standaard voor Indy-componenten. Vereist het deployen van de openssl-bibliotheken voor win32/win64.
iohSChannel: gebruikt Secure Channel, een beveiligingsprotocol dat door Microsoft voor Windows is geïmplementeerd; hiervoor hoeven geen OpenSSL-bibliotheken te worden geïmplementeerd. Werkt alleen in Windows 32/64 bits.
OpenSSL_Options: hiermee kunt u bepalen welke OpenSSL API wordt gebruikt.
APIVersion: maakt het mogelijk te definiëren welke OpenSSL API wordt gebruikt.
oslAPI_1_0: gebruikt API 1.0 OpenSSL, de meest recente versie die door Indy wordt ondersteund
oslAPI_1_1: maakt gebruik van OpenSSL API 1.1; vereist onze aangepaste Indy-bibliotheek en biedt de mogelijkheid OpenSSL 1.1.1-bibliotheken te gebruiken (met TLS 1.3-ondersteuning).
oslAPI_3_0: gebruikt API 3.0 OpenSSL, vereist onze aangepaste Indy-bibliotheek en staat het gebruik van OpenSSL 3.0.0-bibliotheken toe (met TLS 1.3-ondersteuning).
LibPath: hier kunt u configureren waar de openSSL-bibliotheken zich bevinden
oslpNone: dit is de standaard; de openSSL-bibliotheken moeten zich in dezelfde map bevinden als het binaire bestand of in een bekend pad.
oslpDefaultFolder: stelt automatisch het openSSL-pad in waar de bibliotheken zich moeten bevinden voor alle IDE-platformpersoonlijkheden.
oslpCustomFolder: als deze optie is geselecteerd, definieer dan het volledige pad in de eigenschap LibPathCustom.
LibPathCustom: wanneer LibPath = oslpCustomFolder, definieer hier het volledige pad waar de openSSL-bibliotheken zich bevinden.
UnixSymLinks: het laden van symbolische koppelingen onder Unix-systemen in- of uitschakelen (standaard ingeschakeld, behalve onder OSX64):
oslsSymLinksDefault: standaard ingeschakeld, behalve onder OSX64 (na MacOS Monterey mislukt het laden van de bibliotheek zonder versie.).
oslsSymLinksLoadFirst: Laad SymLinks en doe dit voor het laden van de versiebibliotheken.
oslsSymLinksLoad: Laad SymLinks nadat geprobeerd is de versie-bibliotheken te laden.
oslsSymLinksDontLoad: laadt de SymLinks niet.
SChannel_Options: hiermee kunt u een certificaat uit de Windows-certificaatopslag gebruiken.
CertHash: is de hash van het certificaat. U kunt de certificaathash vinden door een dir-opdracht uit te voeren in PowerShell.
CertStoreName: de opslagnaam waar het certificaat is opgeslagen. Selecteer een van de onderstaande opties:
scsnMY (de standaard)
scsnCA
scsnRoot
scsnTrust
CertStorePath: het opslagpad waar het certificaat is opgeslagen. Selecteer een van de onderstaande opties:
scspStoreCurrentUser (de standaard)
scspStoreLocalMachine
LogOptions: als een bestandsnaam is ingesteld, wordt een logboek van HTTP-verzoeken/antwoorden van de HTTP-client opgeslagen