AuthLogic e Oauth-Plugin
-
05-07-2019 - |
Pergunta
Alguém testado - Will Authlogic Works com Oauth -Plugin (https://github.com/pelle/oauth-plugin) ou não?
Solução
A resposta curta é não. Atualmente estou integrando Oauth-pluginProvedor de serviços de serviço com meu próprio sistema de autenticação (que antecede AuthLogic, Atos_as_authenticated e todo o resto).
Oauth-plugin A provedora de serviços funciona por meio de um gerador de código que gera dois controladores, que são então vinculados a alguns arquivos da biblioteca no plug -in. Todos esses arquivos esperam um login_required
método de classe com a mesma semântica que Atos_as_authenticated usos.
AuthLogic não faz suposições sobre seus controladores, por isso não funcionará fora da caixa com Oauth-plugin, no entanto, essa decisão de design também significa que será bastante fácil estruturar seus controladores da maneira esperada. Portanto, deve ser (talvez trivialmente) fácil construir um calço para apoiar Oauth-plugin.
No entanto, no meu caso, decidi executar o gerador para extrair o que preciso do plug -in e excluir o próprio plug -in. A principal razão pela qual estou fazendo isso é que explicitamente não tenho o login_required
Método no meu sistema de autenticação, então eu teria que monitorar o Patch the Lib para fazê -lo funcionar. Em segundo lugar, há muitas coisas no plug -in que eu simplesmente não preciso. Em terceiro lugar, a maioria das coisas que é verdadeiramente no nível da biblioteca já foi abstraída no Oauth jóia adequada, então as coisas que vivem no Oauth-plugin O diretório Lib está nessa terra estranha no homem entre o código gerado e a biblioteca real.
Outras dicas
Estou no processo de fazer isso funcionar agora. Acabei de enrolar o meu próprio usando os métodos Authlogic para fazê -lo jogar bem. (Estou tentando fazer um provedor funcionar, então o Authlogic-OAuth não parece certo para mim)
Vou editar enquanto vou
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 tem um complemento que foi desenvolvido especificamente para ele, o que pode ser encontrado aqui.