Wenn Sie OAuth 2.0 Authentifizierung mit 4D NetKit verwenden, müssen Sie eine Redirect URI definieren, um anzugeben, wohin der OAuth 2.0 Server das Authentifizierungsergebnis zurücksenden soll. Mit 4D 20 R9 können Sie nun die Adresse und die Ports Ihres Host-Webservers verwenden, um Ihre Authentifizierungsantworten abzurufen. Diese Verbesserung strafft den Authentifizierungsprozess, verhindert Port-Konflikte und verbessert die Sicherheit.
$credential:={}
$credential.name:="Microsoft" // or "Google
$credential.permission:="signedIn"
$credential.clientId:="bbbxxx"
$credential.redirectURI:="http://127.0.0.1:80/authorize/"
var $provider:=cs.NetKit.OAuth2Provider.new($credential)
Bei der Verwendung von cs. NetKit. OAuth2Provider. new( $credential) bestimmt 4D NetKit anhand der angegebenen Redirect-URI, ob der Host-Webserver oder der Webserver der 4D NetKit Komponente verwendet werden soll.
-
Wenn der Port der redirectURI mit dem Port des Host-Webservers übereinstimmt, verwendet 4D NetKit automatisch den Host-Webserver zum Abrufen von Authentifizierungsantworten.
-
Wird der Port nicht angegeben, werden Standard-Ports verwendet:
-
Der Host-Webserver wird verwendet, wenn die Host-Datenbank mit dem Standard-Port konfiguriert ist (Port 80 für HTTP und Port 443 für HTTPS).
-
Andernfalls wird der 4D NetKit Webserver verwendet.
-
-
In allen anderen Fällen verwendet 4D NetKit standardmäßig seinen eigenen internen Webserver.
RedirectURI Beispiel basierend auf der Konfiguration des Host-Webservers mit HTTP-Port = 80
-
Verwendung des 4D Host Ports → 4D Host Server wird verwendet
$param.redirectURI:="http://127.0.0.1:80/authorize/"
-
Weglassen des Ports, Standard-HTTP-Port ist 80 → 4D-Host-Server wird verwendet
$param.redirectURI:="http://127.0.0.1/authorize/"
-
Verwendung eines eigenen Ports → 4D NetKit Server wird verwendet
$param.redirectURI:="http://127.0.0.1:50993/authorize/"
Behandlung von Authentifizierungsantworten mit einem HTTP-Handler
Wenn der Host-Webserver für die Authentifizierung verwendet wird, müssen Entwickler einen HTTP-Handler in der Host-Datenbank hinzufügen. Dadurch wird sichergestellt, dass Authentifizierungsantworten ordnungsgemäß empfangen und verarbeitet werden.
Wenn permission=“signedIn“ und 4D NetKit den Host-Webserver verwendet, sollte der folgende Handler in der Datei Project/Sources/HTTPHandlers.json hinzugefügt werden:
[
{
"class": "NetKit.OAuth2Authorization",
"method": "getResponse",
"regexPattern": "/authorize",
"verbs": "get"
}
]
Schlussfolgerung
Durch die Verwendung der neuen OAuth 2.0 Authentifizierungserweiterungen in 4D NetKit können Entwickler ihren Authentifizierungsprozess vereinfachen, indem sie die Kompatibilität mit ihrer bestehenden Host-Webserver-Konfiguration sicherstellen.