4D NetKit: utiliza los puertos host de su servidor web para recuperar su respuesta de autenticación OAuth 2.0

Cuando utilice la autenticación OAuth 2.0 con 4D NetKit, debe definir un URI de redirección para indicar dónde el servidor OAuth 2.0 debe devolver el resultado de la autenticación. Con 4D 20 R9, ahora puede usar la dirección y puertos de su servidor web local para recuperar sus respuestas de autenticación. Esta mejora agiliza el proceso de autenticación, evita conflictos de puertos y mejora la seguridad.

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

Cuando se usa cs. NetKit. OAuth2Provider. new( $credential), 4D NetKit determina si usar el servidor web local o el servidor web del componente 4D NetKit basándose en la URI de redirección especificada.

  • Si el puerto redirectURI coincide con el puerto del servidor web local, 4D NetKit utilizará automáticamente el servidor web local para recuperar las respuestas de autenticación.

  • Si se omite el puerto, se utilizarán los puertos estándar:

    • Se utiliza el servidor web del host si la base de datos del host está configurada con el puerto predeterminado (Puerto 80 para HTTP y puerto 443 para HTTPS).

    • En caso contrario, se utiliza el servidor web de 4D NetKit.

  • Para cualquier otro caso, 4D NetKit utiliza por defecto su propio servidor web interno.

Ejemplo de RedirectURI basado en la configuración del servidor web host con puerto HTTP = 80

  • Usando el puerto host de 4D → se usa el servidor host de 4D

    $param.redirectURI:="http://127.0.0.1:80/authorize/"
  • Omisión del puerto, el puerto HTTP predeterminado es 80 → se utiliza el servidor host 4D

    $param.redirectURI:="http://127.0.0.1/authorize/"
  • Uso de un puerto personalizado → se utiliza el servidor NetKit de 4D

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

Manejo de respuestas de autenticación con un manejador HTTP

Si se utiliza el servidor web local para la autenticación, los desarrolladores deben añadir un manejador HTTP en la base de datos local. Esto garantiza que las respuestas de autenticación se reciban y procesen correctamente.

Cuando permission=»signedIn» y 4D NetKit utiliza el servidor web anfitrión, debe añadirse el siguiente manejador al archivo Project/Sources/HTTPHandlers.json:

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

Conclusión

Utilizando las nuevas mejoras de autenticación OAuth 2.0 en 4D NetKit, los desarrolladores pueden simplificar su proceso de autenticación asegurando la compatibilidad con la configuración existente de su servidor web local.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.