4D NetKit: Utilizzare le porte host del server web per recuperare la risposta di autenticazione OAuth 2.0

Tradotto automaticamente da Deepl

Quando si utilizza l’autenticazione OAuth 2.0 con 4D NetKit, è necessario definire un URI di reindirizzamento per indicare dove il server OAuth 2.0 deve restituire il risultato dell’autenticazione. Con 4D 20 R9, è ora possibile utilizzare l’indirizzo e le porte del server web host per recuperare le risposte di autenticazione. Questo miglioramento semplifica il processo di autenticazione, evita i conflitti tra le porte e migliora la sicurezza.

$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)

Quando si usa cs. NetKit. OAuth2Provider. new( $credential), 4D NetKit determina se utilizzare il server web host o il server web del componente 4D NetKit in base all’URI di reindirizzamento specificato.

  • Se la porta dell’URI di reindirizzamento corrisponde alla porta del server web host, 4D NetKit utilizzerà automaticamente il server web host per recuperare le risposte di autenticazione.

  • Se la porta viene omessa, vengono utilizzate le porte standard:

    • Il server web host viene utilizzato se il database host è configurato con la porta predefinita (porta 80 per HTTP e porta 443 per HTTPS).

    • Altrimenti, viene utilizzato il server web di 4D NetKit.

  • In tutti gli altri casi, 4D NetKit utilizza per default il proprio server web interno.

Esempio di RedirectURI basato sulla configurazione del server Web host con porta HTTP = 80

  • Utilizzando la porta host 4D → viene utilizzato il server host 4D

    $param.redirectURI:="http://127.0.0.1:80/authorize/"
  • Omissione della porta, la porta HTTP predefinita è 80 → Viene utilizzato il server host 4D

    $param.redirectURI:="http://127.0.0.1/authorize/"
  • Utilizzo di una porta personalizzata → viene utilizzato il server4D NetKit

    $param.redirectURI:="http://127.0.0.1:50993/authorize/"

Gestione delle risposte di autenticazione con un gestore HTTP

Se per l’autenticazione viene utilizzato il server web host, gli sviluppatori devono aggiungere un gestore HTTP nel database host. Questo assicura che le risposte di autenticazione siano ricevute ed elaborate correttamente.

Quando permission=”signedIn” e 4D NetKit utilizza il server web host, il seguente gestore deve essere aggiunto al file Project/Sources/HTTPHandlers.json:

[
{
"class": "NetKit.OAuth2Authorization",
"method": "getResponse",
"regexPattern": "/authorize",
"verbi": "get"
}
]

Conclusione

Utilizzando i nuovi miglioramenti dell’autenticazione OAuth 2.0 in 4D NetKit, gli sviluppatori possono semplificare il processo di autenticazione, garantendo la compatibilità con la configurazione del server web esistente.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.