Pregunta

¿Alguien lo ha probado? ¿Funcionará authlogic con un complemento de Ruth ( https://github.com/pelle / oauth-plugin ) o no?

¿Fue útil?

Solución

La respuesta corta es no . Actualmente estoy integrando el proveedor de servicios de oauth-plugin con mi propio sistema de autenticación (que precede a authlogic , acts_as_authenticated y todo lo demás).

oauth-plugin la prestación de servicios funciona mediante un generador de código que genera dos controladores, que luego se vinculan con algunos archivos de biblioteca en el complemento. Todos estos archivos esperan un método de clase login_required con la misma semántica que usa acts_as_authenticated .

authlogic no hace ninguna suposición acerca de sus controladores, por lo que no funcionará de manera inmediata con oauth-plugin , sin embargo, la decisión de diseño también significa que Ser bastante fácil estructurar sus controladores de la manera esperada. Por lo tanto, debería ser (quizás trivialmente) fácil construir un shim compatible con auth-plugin .

Sin embargo, en mi caso, he decidido ejecutar el generador para luego extraer lo que necesito del complemento y eliminar el complemento. La razón principal por la que hago esto es que explícitamente no tengo el método login_required en mi sistema de autenticación, por lo que tendría que aplicar un parche en la biblioteca para que funcione. En segundo lugar, hay muchas cosas en el complemento que simplemente no necesito. En tercer lugar, la mayoría de las cosas que son realmente a nivel de biblioteca ya se han abstraído en la gema oauth propiamente dicha, por lo que las cosas que viven en el directorio lib oauth-plugin están en este extraña tierra de nadie entre el código generado y la biblioteca real.

Otros consejos

Estoy en el proceso de hacer que esto funcione ahora. Acabo de rodar el mío utilizando los métodos authlogic para que funcione bien. (Estoy tratando de hacer que un proveedor trabaje, por lo que authlogic-oauth no me parece correcto)

Lo editaré a medida que voy

def logged_in?
  return true if current_user 
end 

def login_required 
  return true if logged_in? 
  store_location 
  redirect_to new_user_session_path and return false                                                                                                                                                                                                                      
end 

Authlogic tiene un complemento que se desarrolló específicamente para él, que se puede encontrar aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top