state and redirect_uri configurable