netlify / gotrue

An SWT based API for managing users and issuing SWT tokens.
https://www.gotrueapi.org
MIT License
3.84k stars 285 forks source link

Passing error messages from Identity triggered webhooks to client #212

Closed carlganz closed 2 years ago

carlganz commented 5 years ago

- Do you want to request a feature or report a bug? Feature Request - What is the current behavior? Currently, when Identity Function webhooks return non 200/204 status codes, the client is sent a vague error message stating the webhook has failed. - If the current behavior is a bug, please provide the steps to reproduce. Not a bug but you can reproduce at our Netlify hosted site: www.getgoodtree.com

Create account. Then create another account with different email, but same phone number. You will see the error message indicating that the webhook failed.

- What is the expected behavior? Ideally, we would be able to pass more specific error messages from failed webhooks to the client.

Our use case is an eCommerce site that integrates with several other platforms like Salesforce. When customers sign up they include a phone number (which we include as user metadata), and we need to check whether there is already an account associated with that phone number (GoTrue by itself will only confirm that there is existing email account so using webhooks seemed like natural way to extend GoTrue). We also have a list of banned phone numbers that allow us to prevent malicious users. Since we have more than one possibility from the server side as to why a user might have genuinely had their account rejected we need to be able to specify which result from the server to give users the proper feedback. That is why it would be helpful for us to pass errors from Identity Function webhooks back to client.

Thanks for all your help!

- Please mention your Go version, and operating system version.

Go 1.12 and whatever OS Netlify uses for deployment

Thanks for all the wonderful tools!

danoc commented 4 years ago

I would also love this. Happy to help out if needed.

If this is a desired change, I imagine the fix would be tweaking the error message to include the webhook response body?

carlganz commented 3 years ago

Circling back on this request, I realize this project is not in active development, but at this point we are prepared to invest our own resources into adding this feature if Netlify is willing to review and accept PRs for this project.

rybit commented 3 years ago

@carlganz -- I can say that we can commit to reviewing & updating our internal version. Thanks for your support and sorry for the lag!

colbyhemond commented 3 years ago

This would be helpful to let the user know why specifically their sign up was rejected.

I have a use case where I'm validating based on the email domain that is used to sign up with, whitelisting only a few. I feel that if the user just gets a "Failed to handle signup webhook" error they will try a couple more times without knowing why exactly they can't sign up.

pmcp commented 3 years ago

Is there an update on this?

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had activity in 1 year. It will be closed in 7 days if no further activity occurs. Thanks!

github-actions[bot] commented 2 years ago

This issue was closed because it had no activity for over 1 year.