I would first try to add returnurl as querystring parameter (but use the same reply url). Then you can bounce the user to the correct url after they are logged in.
Alternatively use a cookie on user to store the return url.
It's normally a good idea to have one single reply url. It makes it easier to extend the login if needed later.
I got problem when using AAD to login after certain minutes, when login session is timeout EPiServer will redirect to Microsoft login page with current page url of user for AAD to redirect after login. If current page url is not as same as defined Redirect url in AAD, Microsoft login page will display message “AADSTS50011: The reply url specified in the request does not match the reply urls configured for the application”.
Is there any workaround this issue?
I use EPiServer 11.12