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
Nel tuo codice, hai la condizione if not auth, ma non c’è un’istruzione else corrispondente.
Il metodo redirect_to dovrebbe essere utilizzato all’interno di un’azione del controller. Se lo stai usando in un metodo separato come after_authenticate, assicurati che sia nell’ambito di un controller.
Quindi ecco il codice corretto.
def after_authenticate(auth_hash)
if not auth
redirect_to "https://example.com"
else
# Autenticazione riuscita, continua con il processo di autenticazione
result = Auth::Result.new
end
end
Il risultato sarà: se l’autenticazione fallisce, auth non è vero, reindirizzerà a “https://example.com/”. Altrimenti, se l’autenticazione ha successo, continuerà con il processo di autenticazione.
Per verificare, puoi controllare gli strumenti per sviluppatori del browser per ispezionare le richieste di rete e i reindirizzamenti o utilizzare qualsiasi strumento online come redirect checker. Questo può aiutarti a identificare problemi di reindirizzamento e codici di stato.