Hi, I understand why having the state be handled internally can help avoid mistakes which might allow people to re-use responses.
However, from this article it seems state was indeed intended for 'state'.
thread-safe.com/2014/05/the-correct
...
Anyways, I work with an api project that does not use $_SESSION. Everything is stateless REST. So when a user logs in, I need to get them back to the page they're supposed to be at, and have some other state info. However, many oauth servers require preregistered redirect_uri and if you add parameters there, it fails.
So concretely the issue is that when the user arrives back at redirect_uri, I have no idea where this belongs, to forward him there. Furthermore, users are grouped into organizations, and I have no idea what organization to put the user into up first registration.
The workaround is to go ahead and start the session and store some state. But again, that was the point of 'state' originally. To pass some state. Now it's been coopted to serve as just kind of a 'nonce'