# Problema: Error detectado de CSRF con inicio de sesión OAuth2 usando el plugin oauth2-basic

**URL:** <https://meta.discourse.org/t/issue-csrf-detected-error-with-oauth2-login-using-oauth2-basic-plugin/331505>\
**Category:** SSO\
**Tags:** oauth2\
**Created:** [18 Octubre, 2024 10:05 UTC](https://meta.discourse.org/t/issue-csrf-detected-error-with-oauth2-login-using-oauth2-basic-plugin/331505 "2024-10-18T10:05:40Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Ly\_Chen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ly_chen/32/456921_2.png) [@Ly\_Chen](https://meta.discourse.org/u/Ly_Chen)\
**Post date:** [18 Octubre, 2024 10:05 UTC](https://meta.discourse.org/t/issue-csrf-detected-error-with-oauth2-login-using-oauth2-basic-plugin/331505/1 "2024-10-18T10:05:40Z")

</div>

Hola,

Encontré un error de “csrf\_detected” al usar el plugin `oauth2-basic` para iniciar sesión a través de OAuth2. A continuación, se detalla el flujo del problema:

1. Hago clic en “Iniciar sesión”, lo que me redirige a:  
`https://myforum/auth/basic_oauth2`
2. Luego, realiza una redirección 302 a:  
`https://myforum/auth/failure?message=csrf_detected`

### Pasos de Reproducción:

Al intentar iniciar sesión, el siguiente comando `curl` simula la solicitud:

```plaintext
curl -vvvv 'https://myforum/auth/oauth2_basic' \
  -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
  -H 'accept-language: zh-CN,zh;q=0.9' \
  -H 'cache-control: max-age=0' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -H 'cookie: _forum_session=k9aHXc2cWsx%2FMBL26KTV33PSo8jC9Am47UBoT5Zq9qYAm2nKoU2BJkAR1bgc6U%2BYqsL3%2F3sjiYRmJoNr3JuvzkjdYl%2FjzT9djkq%2BYjSmN16EUEdZIdOl%2Fiv1MohQkthKSnOpUdXLTxHZBezxTg4O%2Bs6LUZ7HzCjpT3lxm24FS4xOPkU5QnSHBM%2F7GazZRhGywXsHKGdJ6fY0kVo%2BJHNNHBZu--qQKGn36Xh7jvKPEs--I1b3oz4nv2xe%2Fmi0bKPLog%3D%3D' \
  -H 'origin: https://myforum' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36' \
  --data-raw 'authenticity_token=doSNHEhj23HibAEZf0znqzevPNPq9Bub69Xnq18mKARw8GiGP-cokbg7k0qUvRgH3kayeJK7_-boeoOvX6GKqQ'

```

El resultado es una redirección 302 a la página de error con el mensaje “csrf\_detected”:

```plaintext
< HTTP/2 302
< location: /auth/failure?message=csrf_detected

```

### Hallazgos:

- Si **omito** el parámetro `authenticity_token`, el flujo de inicio de sesión funciona correctamente y me redirige a la página de inicio de sesión de OAuth2 como se esperaba:

### Pregunta:

Parece que cuando la solicitud GET a `/auth/oauth2_basic` incluye un `authenticity_token`, el sistema lo verifica y genera el error CSRF si el token es inválido. Pero estoy confundido: dado que aún no he iniciado sesión, ¿cómo tendría un `authenticity_token` en esta etapa?

¿Es este un comportamiento esperado o hay un problema con la forma en que se maneja el token CSRF en el proceso de inicio de sesión inicial?

¡Cualquier ayuda o guía sería apreciada!

Gracias!

---

_[View the full topic](https://meta.discourse.org/t/issue-csrf-detected-error-with-oauth2-login-using-oauth2-basic-plugin/331505)._
