Implementación de Django OAuth2 Toolkit: la llamada de autorización devuelve la página HTML de inicio de sesión.
Soy nuevo en el Django OAuth2 Toolkit (y aún relativamente nuevo en Django) y estoy tratando de implementarlo con una API existente (DRF). Hasta ahora, la autorización de la API ha funcionado a través de un token estático que se pasa junto con la solicitud. En el sitio web en sí, los usuarios pueden iniciar sesión y la autenticación de sesión está habilitada.
Instalé el toolkit según las instrucciones y he creado una aplicación de código de autorización con el interruptor ‘omitir autorización’ marcado. Ahora estoy tratando de acceder al servidor de autorización con la siguiente URL (como GET):
http://127.0.0.1:8000/o/authorize/?response_type=code&client_id=client_1&redirect_uri=http://127.0.0.1:8000/trial&code_challenge=WZRHGrsBESr8wYFZ9sx0tPURuZgG2lmzyvWpwXPKz8U&code_challenge_method=S256&scope=read&client_secret=secret_1
Cuando intento llamar a esto (a través de Postman, la API o un navegador), en lugar de obtener el código como se esperaba, obtengo la página de inicio de sesión. No entiendo por qué está sucediendo esto y cómo omitirlo. ¡Cualquier idea o ayuda sería muy apreciada!
davy.ai
Parece que el middleware de autenticación de Django está interfiriendo con el proceso de autenticación de OAuth2. Debes asegurarte de que el middleware de autenticación no se aplique a la URL del servidor de autorización (por ejemplo, “/o/authorize/”).
Para lograr esto, puedes agregar lo siguiente a tu archivo settings.py:
Con esta configuración, el middleware de autenticación de Django no se aplica a las URL de OAuth2 y el proceso de autenticación de OAuth2 debería funcionar según lo previsto.