implementar google example ejemplo como authentication ember.js oauth-2.0 doorkeeper

authentication - google - Flujo de credenciales de contraseña del propietario del recurso de OAuth2



oauth2 spring (1)

¿El flujo de credenciales de contraseña del propietario del recurso OAuth2 solo necesita la siguiente información para la autenticación?

grant_type: password username: [email protected] password: test

¿O también necesita el client_id y client_secret ? Pregunto, porque quiero usar Ember-Simple-Auth junto con Doorkeeper . Ambos implementan el flujo, pero Ember-Simple-Auth no usó client_id y client_secret , mientras que Doorkeeper necesita esa información para funcionar. Entonces, creo que uno de estos no implementa las especificaciones OAuth2 correctamente.

Editar 1:

También miré las especificaciones antes, pero quiero estar seguro, antes de llenar un informe de error para la gema Doorkeeper, pero también hay esta sección en las especificaciones:

Si el tipo de cliente es confidencial o el cliente recibió credenciales del cliente (o se le asignaron otros requisitos de autenticación), el cliente DEBE autenticarse con el servidor de autorización como se describe en la Sección 3.2.1.

Editar 2

Al examinar las pruebas de ember-simple-auth, vi que también prueba los parámetros de solicitud client_id y client_secret . Por lo tanto, miré más profundamente en el código y descubrí cómo configurar el id y el secreto.

App.LoginController = Ember.Controller.extend(Ember.SimpleAuth.LoginControllerMixin, { client_id: ''id'', client_secret: ''secret'' })

Editar 3

Desde una gran refactorización en Ember-SimpleAuth, la solución que se muestra en Editar 2 ya no funciona. Pero Doorkeeper también cambia y ahora client_id y client_secret son opcionales.


¿Estás seguro de que ambos implementan oAuth con flujo de credenciales de contraseña del propietario del recurso?

Eche un vistazo a las especificaciones y vea que dentro del flujo de credenciales de la contraseña del propietario del recurso, no se necesitan el client_id y el client_secret.

En Authorization Code Grant , la especificación FORCE que el cliente pase * client_id y client_secret *, pero en 4.3.1 dice que el servidor de autenticación requiere autenticación de cliente PARA CLIENTES CONFIDENCIALES. La especificación lo deja abierto a los casos cuando el cliente no es "confidencial". Si en el caso de la pregunta anterior (@Doorkeeper), el cliente no es "confidencial", es posible que el client_id no sea necesario ...