By default, the Request.Authentication object Request.Authentication not allocated until the request has been sent and the authentication response has been received, then the OnSelectAuthorization event will be OnSelectAuthorization to determine what type of class will be allocated for the object for subsequent requests.
The only other way that the Request.Authentication object can be allocated is to manually execute it in your own code before sending the request, for example, if you know in advance which auth scheme the server should use without sending a request for detection that is dynamic.
source share