ruby on rails - Manejo de autenticación de usuario cuando se usa ember.js
ruby-on-rails authentication (4)
Check ember-auth maneja la autenticación de token para ember.js y también hay una demostración y tutorial para rails / devise / ember. ember-auth es el mejor enfoque que he visto hasta ahora para autenticar una aplicación ember.js / rails.
Hasta ahora he implementado una aplicación básica de Ember basada en Ember-auth con autenticación de token de Devise y ejemplo de Oauth para Google y LinkedIn que se puede encontrar here y está disponible aquí: https://starter-app.herokuapp.com
Estaba buscando documentación y publicaciones en ember.js, y usando ember.js con Rails.
Me gusta la idea de que Rails proporcione la API y que ember.js maneje la interfaz de usuario, pero me preguntaba cómo conectar la autenticación de usuario.
Por ejemplo, supongo que estoy usando un dispositivo, ¿cómo lo uso con ember.js?
Cualquier puntero sería muy apreciado.
Estoy trabajando en un proyecto con autenticación ember.js en la plataforma ROR. Verifique el enlace del proyecto a continuación en github.
Una opción (no siempre ideal en todas las situaciones) es inicializar la aplicación Ember en una vista que requiere una sesión activa en Devise para renderizar.
A menudo hago esto manteniendo el manifiesto js / css de la aplicación de brasas fuera de la ruta de carga, excepto en una vista que se encuentra debajo de un controlador autenticado en la aplicación Rails.
También puede proteger cualquier información de la carga en la aplicación Ember al poner comprobaciones de autenticación Devise en los controladores Rails que pueblan sus datos.
Actualización 2
Echa un vistazo a esta nueva aplicación de ejemplo de github que utiliza una aplicación de vista de rieles híbridos + aplicación de ambientación de ámbito de variable que se ejecuta en Ember 1.0.rc.1 + ember-data rev 11 y persiste en muchas relaciones.
Echa un vistazo a este proyecto de autenticación de tokens que aún no está listo pero muestra muchas promesas. Esto podría ser ideal para las aplicaciones de cliente móvil que autentican a los usuarios del lado del cliente, a diferencia de la simple vista de carriles basados en la web.
Ambos proporcionan casos de uso interesantes y discutibles. Espero ver a dónde va esto en el futuro.
Actualización 1
Agregué la autenticación de usuario súper básica usando Devise a la aplicación de ejemplo de datos de Ember Dgeb aquí: https://github.com/dgeb/ember_data_example/pull/17 . Utilicé los controladores de Rails para la creación y el alcance de la autenticación, agregando los user_id''s de current_user a la creación de nuevos registros de contacto, mientras se alimentan los datos de AMS con ámbito a la aplicación ember a través de current_user.id.
He tenido esta misma pregunta por un tiempo y la única aplicación de ejemplo de código abierto que he podido encontrar que tiene autenticación de usuario y usa rails es https://github.com/carvil/dash-it . Utiliza una vista de inicio de sesión de Rails-Devise que pasa junto con la información de current_user a una aplicación ember.js una vez que el usuario inicia sesión.
Sé que muchas otras personas usan Devise token_authenticatable para eliminar por completo las vistas de Rails y autenticar usuarios en aplicaciones Ember estrictamente a través de tokens. Esta es probablemente la mejor manera de hacerlo, pero aún no he intentado implementarlo en una aplicación, y no he encontrado ninguna aplicación de código abierto que siga esta ruta.
Tom Dale, uno de los principales desarrolladores de Ember, dice que aún no tienen un estado de "nación favorecida" para ninguna solución de autenticación de usuario específica, por lo que hasta que apoyen oficialmente una solución específica o construyan una en el marco, yo '' Estoy asumiendo que los tokens de Devise son la mejor manera de hacerlo.
Espero que alguien que tenga más experiencia de autenticación de usuario / Ember que yo pueda intervenir y demostrar una solución mejor que https://github.com/carvil/dash-it , usando el enrutador y la máquina de estados de Ember en combinación con la autenticación de usuario basada en token.