Open
Description
I am trying to redirect users to a frontend URL after authentication in Gofr. However, I couldn't find a built-in Redirect method in ctx.
Here’s my current code:
app.GET("/auth/google/callback", func(ctx *gofr.Context) (interface{}, error) {
sessionManager := session.GetSession()
email := sessionManager.GetString(ctx.Context, "email")
name := sessionManager.GetString(ctx.Context, "name")
// Expected to redirect but ctx does not have a Redirect method
frontendURL := fmt.Sprintf("https://frontend.com/dashboard?email=%s&name=%s", email, name)
// What is the correct way to redirect?
ctx.Redirect(frontendURL, http.StatusFound) // This does not exist in Gofr
return nil, nil
})
Expected Behavior
A way to redirect users to the frontend URL after authentication.
Actual Behavior
ctx.Redirect() does not exist in Gofr. like in echo or Fiber
There is no clear documentation on how to handle redirects.
Questions
What is the correct way to redirect users in Gofr?
Is there an alternative method to set the Location header?
Activity
Umang01-hash commentedon Feb 27, 2025
@ibadi-id GoFr doesn't support Redirects as of now. Will definitely let you know once we add it.
Umang01-hash commentedon Feb 27, 2025
@ibadi-id Could you share more details on your use case for redirects? Understanding how you intend to use them will help us evaluate whether this should be part of GoFr or handled at the application level.
ibadi-id commentedon Feb 28, 2025
Thank you for your response, @Umang01-hash
My use case is that after receiving a callback from Google as an authentication provider, I want to create a user in the backend and then redirect the user to a specific frontend page once the process is complete.
Since GoFr currently does not support redirects, I have implemented a temporary workaround by adding a function to retrieve http.ResponseWriter, allowing me to perform a redirect like this:
However, if there is a better way to handle redirects in GoFr or if there are plans to support this feature in the future, I would greatly appreciate any suggestions or insights.
Thanks! 😊