He estado revisando algunos documentos relacionados con los flujos de autorización OAuth2
confidenciales y no confidenciales, a saber this y el RFC .
A mi entender, el flujo no confidencial no requiere el client_secret , o mejor aún, en realidad no deberías usar el client_secret porque estás asumiendo que alguien puede conseguirlo junto con client_id , por lo que es más fácil que se haga pasar por la aplicación cliente.
Por lo tanto, para implementar el flujo no confidencial, el cliente debe trabajar primero con el client_id emitido por el servidor y un estado generado por el cliente. Luego, el cliente debe utilizar un código devuelto por el servidor y el mismo valor de estado . Un redirect_uri también debe estar registrado con el servidor.
AFAIK (que yo sepa) eso es lo que distingue el flujo confidencial del no confidencial: el flujo confidencial requiere el client_secret mientras que el no confidencial no lo hace. Además, esto es lo que define el flujo no confidencial, la falta de un client_secret . ¿Tengo razón al asumir esto?
La Sección 2.3 no parece ser específica con respecto a esto.
Preguntas relacionadas, de Sección 4.1.3 :
Si el tipo de cliente es confidencial o el cliente fue emitido cliente credenciales (u otros requisitos de autenticación asignados), la el cliente DEBE autenticar con el servidor de autorización como se describe en Sección 3.2.1.
¿Qué es exactamente lo que se encuentra en " otros requisitos de autenticación "? ¿No es este un cliente que tiene que ser autorizado?