Při použití ověřování OAuth 2.0 se sadou 4D NetKit je nutné definovat URI přesměrování, který určuje, kam má server OAuth 2.0 vrátit výsledek ověřování. S aplikací 4D 20 R9 můžete nyní k získání odpovědí na ověření použít adresu a porty hostitelského webového serveru. Toto vylepšení zjednodušuje proces ověřování, zabraňuje konfliktům portů a zvyšuje zabezpečení.
$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)
Při použití adresycs. NetKit. OAuth2Provider. new( $credential) určuje 4D NetKit na základě zadaného URI přesměrování, zda má být použit hostitelský webový server nebo webový server komponenty 4D NetKit.
-
Pokud se port redirectURI shoduje s portem hostitelského webového serveru, 4D NetKit automaticky použije hostitelský webový server pro získání ověřovacích odpovědí.
-
Pokud je port vynechán, použijí se standardní porty:
-
Pokud je hostitelská databáze nakonfigurována se standardním portem (port 80 pro HTTP a port 443 pro HTTPS), použije se hostitelský webový server.
-
V opačném případě se použije webový server 4D NetKit.
-
-
V ostatních případech je výchozím nastavením 4D NetKit vlastní interní webový server.
Příklad RedirectURI na základě konfigurace hostitelského webového serveru s portem HTTP = 80
-
Použití hostitelského portu 4D → Používá se hostitelský server 4D.
$param.redirectURI:="http://127.0.0.1:80/authorize/"
-
Vynechání portu, výchozí port HTTP je 80 → je použit hostitelský server 4D
$param.redirectURI:="http://127.0.0.1/authorize/"
-
Použití vlastního portu → je použit4D NetKit server
$param.redirectURI:="http://127.0.0.1:50993/authorize/"
Zpracování odpovědí na ověření pomocí obslužného programu HTTP Handler
Pokud se pro ověřování používá hostitelský webový server, musí vývojáři přidat do hostitelské databáze obslužnou rutinu HTTP. Tím se zajistí, že odpovědi na ověření budou správně přijaty a zpracovány.
Pokud je permission=“signedIn“ a 4D NetKit používá hostitelský webový server, je třeba do souboru Project/Sources/HTTPHandlers.json přidat následující handler:
[
{
"class": "NetKit.OAuth2Authorization",
"method": "getResponse",
"regexPattern": "/authorize",
"verbs": "get"
}
]
Závěr
Použitím nových vylepšení ověřování OAuth 2.0 v sadě 4D NetKit mohou vývojáři zjednodušit svůj proces ověřování tím, že zajistí kompatibilitu se stávající konfigurací hostitelského webového serveru.