You are not logged in.
Hola buenos días al tratar de configurar el envió de notificaciones con google y oauth.
Me muestra el siguiente error por pantalla.
"El token de acceso no proporciona un token de actualización; verifique la configuración de la aplicación"
Esta es la salida del log error_php.log
glpiphplog.CRITICAL: *** Uncaught Exception BadMethodCallException: Required parameter not passed: "refresh_token" in /var/www/html/glpi/vendor/league/oauth2-client/src/Tool/RequiredParameterTrait.php at line 35
Backtrace :
...2-client/src/Tool/RequiredParameterTrait.php:53 League\OAuth2\Client\Grant\AbstractGrant->checkRequiredParameter()
...ue/oauth2-client/src/Grant/AbstractGrant.php:76 League\OAuth2\Client\Grant\AbstractGrant->checkRequiredParameters()
...h2-client/src/Provider/AbstractProvider.php:535 League\OAuth2\Client\Grant\AbstractGrant->prepareRequestParameters()
vendor/phpmailer/phpmailer/src/OAuth.php:113 League\OAuth2\Client\Provider\AbstractProvider->getAccessToken()
vendor/phpmailer/phpmailer/src/OAuth.php:128 PHPMailer\PHPMailer\OAuth->getToken()
vendor/phpmailer/phpmailer/src/SMTP.php:606 PHPMailer\PHPMailer\OAuth->getOauth64()
vendor/phpmailer/phpmailer/src/PHPMailer.php:2205 PHPMailer\PHPMailer\SMTP->authenticate()
src/GLPIMailer.php:136 PHPMailer\PHPMailer\PHPMailer->smtpConnect()
vendor/phpmailer/phpmailer/src/PHPMailer.php:2019 GLPIMailer->smtpConnect()
vendor/phpmailer/phpmailer/src/PHPMailer.php:1678 PHPMailer\PHPMailer\PHPMailer->smtpSend()
vendor/phpmailer/phpmailer/src/PHPMailer.php:1516 PHPMailer\PHPMailer\PHPMailer->postSend()
src/NotificationMailing.php:121 PHPMailer\PHPMailer\PHPMailer->send()
front/notificationmailingsetting.form.php:46 NotificationMailing::testNotification()
public/index.php:82 require()
Offline
Hola,
Este problema puede estar relacionado con esta solución:
https://github.com/glpi-project/glpi/pull/17032
La solución se incluirá con GLPI 10.0.16, pero se puede aplicar manualmente si es necesario. Consulte la pestaña Archivos modificados para ver los cambios o agregue ".patch" al final de la URL para obtener un archivo de parche.
GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.
Offline
Gracias por la respuesta.
Realice el parche del archivo GLPIMailer.php pero tengo el mismo problema.
cat php-errors.log
[2024-05-27 10:27:03] glpiphplog.CRITICAL: *** Uncaught Exception BadMethodCallException: Required parameter not passed: "refresh_token" in /var/www/html/glpi/vendor/league/oauth2-client/src/Tool/RequiredParameterTrait.php at line 35
Backtrace :
...2-client/src/Tool/RequiredParameterTrait.php:53 League\OAuth2\Client\Grant\AbstractGrant->checkRequiredParameter()
...ue/oauth2-client/src/Grant/AbstractGrant.php:76 League\OAuth2\Client\Grant\AbstractGrant->checkRequiredParameters()
...h2-client/src/Provider/AbstractProvider.php:535 League\OAuth2\Client\Grant\AbstractGrant->prepareRequestParameters()
vendor/phpmailer/phpmailer/src/OAuth.php:113 League\OAuth2\Client\Provider\AbstractProvider->getAccessToken()
vendor/phpmailer/phpmailer/src/OAuth.php:128 PHPMailer\PHPMailer\OAuth->getToken()
vendor/phpmailer/phpmailer/src/SMTP.php:606 PHPMailer\PHPMailer\OAuth->getOauth64()
vendor/phpmailer/phpmailer/src/PHPMailer.php:2205 PHPMailer\PHPMailer\SMTP->authenticate()
src/GLPIMailer.php:136 PHPMailer\PHPMailer\PHPMailer->smtpConnect()
vendor/phpmailer/phpmailer/src/PHPMailer.php:2019 GLPIMailer->smtpConnect()
vendor/phpmailer/phpmailer/src/PHPMailer.php:1678 PHPMailer\PHPMailer\PHPMailer->smtpSend()
vendor/phpmailer/phpmailer/src/PHPMailer.php:1516 PHPMailer\PHPMailer\PHPMailer->postSend()
src/NotificationEventMailing.php:398 PHPMailer\PHPMailer\PHPMailer->send()
src/QueuedNotification.php:607 NotificationEventMailing::send()
src/CronTask.php:1027 QueuedNotification::cronQueuedNotification()
front/cron.php:87 CronTask::launch()
Offline
Actualizo el Post.
Por si alguien tiene el mismo problema.
Actualice a la versión 10.0.16 de GLPI, el problema se presentaba igual.
Cambie los permisos del directorio raíz de glpi/
de root:root
a www-data:www-data
(Mi instalación es Debian + PHP 8.2)
Luego el error era de autenticación de SMTP con google.
Desde la consola de administración de google workspace.
Agregue el enrutamiento de smtp relay
con la dirección ip de glpi y como remitente admitido solo cuentas de mi dominio.
Con esto me fue posible enviar correos con Oauth2 + Google Workspace.
Saludos.
Offline