4D NetKit: Použijte porty hostitelského webového serveru k získání odpovědi na ověření OAuth 2.0.

Automaticky přeloženo z Deepl

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.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.