I would like to redirect to another url when auth failed.
Any idea please thanks!
plugins
myplugin
lib
auth
my_auth_controller.rb
def after_authenticate(auth_hash)
if not auth
redirect_to "https://example.com"
end
result = Auth::Result.new
end
- Dans votre code, vous avez la condition if not auth, mais il n’y a pas d’instruction else correspondante.
- La méthode redirect_to doit être utilisée dans une action de contrôleur. Si vous l’utilisez dans une méthode distincte comme after_authenticate, assurez-vous qu’elle se trouve dans la portée d’un contrôleur.
Voici donc le code correct.
def after_authenticate(auth_hash)
if not auth
redirect_to "https://example.com"
else
# L'authentification a réussi, poursuivez le processus d'authentification
result = Auth::Result.new
end
end
Le résultat sera le suivant : si l’authentification échoue, auth n’est pas vrai, il redirigera vers “https://example.com”. Sinon, si l’authentification réussit, elle se poursuivra avec le processus d’authentification.
Pour vérifier, vous pouvez consulter les outils de développement de votre navigateur pour inspecter les requêtes réseau et les redirections ou utiliser un outil en ligne tel que redirect checker. Cela peut vous aider à identifier les problèmes de redirection et les codes d’état.