Usar Authelia como proveedor de acceso social para ERPNext

Kovasky Buezo | May 11, 2025 min de lectura

Intro

Al momento de escribir esta publicación, no encontré ninguna guía para configurar Authelia como proveedor de acceso social para ERPNext. Estos son los pasos que seguí para vincularlos.

Configuración de Authelia

Si tienes un servidor LDAP configurado, debes asegurarte de que se extraigan los atributos correctos. La sección de atributos debería mirarse similar al siguiente snippet.

authentication_backend:
  ldap:
    implementation: custom
    address: ldap://<dirección ip del servidor>:389
    start_tls: false
    tls:
      skip_verify: true
      minimum_version: TLS1.2
    base_dn: DC=mydomain,DC=com
    attributes:
      username: sAMAccountName
      group_name: cn
      mail: mail
      display_name: displayname
      given_name: givenName
      family_name: sn
    users_filter: (&(|({username_attribute}={input})({mail_attribute}={input}))(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2)(!pwdLastSet=0))
    groups_filter: (&(member:1.2.840.113556.1.4.1941:={dn})(objectClass=group)(objectCategory=group))
    user: CN=<usuario de vinculación>,CN=Users,DC=mydomain,DC=com
    password: <contraseña del usuario de vinculación>

Una vez que la sección LDAP sea correcta, debes proceder a la sección de proveedores de identidad para configurar el cliente ERPNext. La configuración debería ser similar a la siguiente:

identity_providers:
  oidc:
    clients:
    - client_id: erpnext
      client_name: erpnext
      client_secret: '$pbkdf2-sha512$310000$OYxF/9Lo7Rv1K30g3UH0bg$nH9ZVUX9zEYGPHnHHFbueWz6TbpHsdvjx.WgYGGwd31sRV.CIgGXz4EW0fwOuPpI9fiv2G8cyowb/zD8A8LiCg'
      public: false
      authorization_policy: one_factor
      redirect_uris:
        - https://<dominio erpnext>/api/method/frappe.integrations.oauth2_logins.custom/authelia
      scopes:
        - openid
        - profile
        - email
        - groups
      userinfo_signed_response_alg: none
      consent_mode: implicit
      token_endpoint_auth_method: 'client_secret_post'

Para generar el secreto del cliente, deberás ejecutar el comando docker run --rm authelia/authelia:latest authelia crypto hash generate pbkdf2 --variant sha512 --random --random.length 72 --random.charset rfc3986

El resultado debería ser similar al siguiente:

Generar una contraseña y digest para la configuración del cliente utilizando Authelia

El digest se utilizará en la configuración del cliente de Authelia, como se muestra arriba. Copia la contraseña generada y tenla a mano, ya que se usará en la configuración de ERPNext. Reinicia Authelia para que los cambios surtan efecto.

Configuración de ERPNext

En el panel de control, navega hacia Integraciones -> Clave de Acceso Social -> Agregar Clave de Acceso Social. El formulario se puede completar de la siguiente manera:

Credenciales del Cliente
  • Proveedor de Inicio de Sesión Social: Personalizar
  • Nombre del Proveedor: Authelia
  • Client ID: erpnext or cualquier ID de cliente que hayas usado en la configuración de Authelia
  • Client Secret: pegar la contraseña generada en el paso anterior
Detalles de Identidad
  • Icono: can leave blank or provide a url for an Authelia icon
  • URL Base: https://<authelia domain>
Configuración
  • Inscripciones: Permitir
URL de Cliente
  • Autorizar URL: /api/oidc/authorization
  • Redireccionar URL: https://<erpnext domain>/api/method/frappe.integrations.oauth2_logins.custom/authelia
  • URL de Token de Acceso: /api/oidc/token
  • API Endpoint: /api/oidc/userinfo
Información del Cliente
  • Argumentos del endpoint de la API: empty
  • Datos de URL de autenticación:
    {"scope": "openid profile email", "response_type": "code"}
  • Propiedad de ID de usuario: email

Asegúrate de hacer clic en Habilitar Sesión Social y clic en Guardar. Si deseas deshabilitar el inicio de sesión con nombre de usuario, navega hacia Configuración de ERPNext -> Configuración del Sistema -> Iniciar sesión y haz clic en Deshabilitar el inicio de sesión con nombre de Usuario/Contraseña. Para finalizar, haz clic en Guardar.

Listo!

Si todo está configurado correctamente, podrás iniciar sesión con Authelia.