SymfonyCasts / verify-email-bundle

Simple, stylish Email Verification for Symfony
https://symfonycasts.com
MIT License
408 stars 33 forks source link

Characters conversion invalidate the verification link #135

Closed JleHi closed 1 year ago

JleHi commented 1 year ago

First of all, thanks for your job here !

I am using this bundle and face a problem that I don't find how to solve. Not sure if I am at the right place, if it's not the case, thanks to warn me. My stack is api-platform and angular.

I am able to generate a verify link and send it by mail, after modifying it a bit to call my frontend. The problem that I'm facing is when I'm calling my controller to verify the link, the signature and token are modified, especially when there is a "+" sign in them, it is replaced by a white space.

I make a call to this URL : https://***?expires=1674226895&id=21&signature=5Y+H9s3aF5EcQ2P6onfodNMcE78Pdd2X/xPXNhVUbeg=&token=tgUo+daAz63UQ0jgiDUK968dFB5HxQ3iJ1tS7HzF8dU=

If I log the query part of my request inside my controller, I have results that are invalid :

image

I don't clearly understand what is happening and how I can correct this behaviour.

Thanks for your time.

weaverryan commented 1 year ago

The signature and token values should be URL encoded. I'm not sure - because I'm sure exactly how you have set things up - if that's something the bundle should be doing that it's not or if that's something you should be doing.

JleHi commented 1 year ago

Thanks to you, I have found what was causing the error. I shoud have encode the token and signature part in the frontend and only them.