4D NetKit: PKCE para OAuth 2.0

Traducido automáticamente de Deepl

OAuth 2.0 es la piedra angular de la autenticación moderna. Entra PKCE, una mejora fundamental que fortalece OAuth 2.0 contra ataques de intercepción y repetición. Con la introducción de 4D 20 R5, ahora ofrecemos una integración sin fisuras de PKCE en los procesos de autenticación OAuth 2.0.

Al establecer el nuevo parámetro de inicialización PKCEEnabled en True de la clase cs.NetKit. En laclase OAuth2Provider , se activa la Proof Key for Code Exchange(PKCE) dentro de los procesos de autenticación OAuth 2.0. PKCE introduce una capa adicional de seguridad al mitigar los ataques de intercepción y repetición para aplicaciones de escritorio. La activación de PKCE garantiza que cada intercambio de código de autorización esté protegido criptográficamente, lo que refuerza la integridad general de los flujos de autenticación de OAuth 2.0. Este sencillo ajuste de parámetros mejora la postura de seguridad de su aplicación sin comprometer la experiencia del usuario.

Por ejemplo, para autenticar tu cuenta de Google utilizando PKCE, sólo tienes que introducir:

var $credential:={}
// google
$credential.name:="Google" 
$credential.permission:="signedIn"
$credential.clientId:="499730xxx"
$credential.clientSecret:="fc1kwxxx"
$credential.redirectURI:="http://127.0.0.1:50993/authorize/"
$credential.scope:="https://mail.google.com/"
// PKCE activation
$credential.PKCEEnabled:=True

var $oauth2:=cs.NetKit.OAuth2Provider.new($credential)
var $token:=Try($oauth2.getToken())
if ($token=null)
  ALERT("Error: "+Last errors[0].message)
end if 

Ten en cuenta que PKCE sólo está disponible para permission=»SignIn»

Para obtener información más detallada sobre la integración de PKCE en sus procesos de autenticación OAuth 2.0, consulte la documentación de 4D NetKit.

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.