refactor state parameter use in OAuth 2.0