Shouldn't the state be random (or maybe derived from the session) to protect against attacks? https://auth0.com/docs/protocols/oauth2/oauth-state