endpointsOrThrow
Resolves OAuth2Endpoints, or throws OAuth2ClientResult.Error.OidcEndpointsNotAvailableException with the original discovery failure attached as its cause.
Flow implementations (e.g. in the oauth2 module) should use this instead of endpointsOrNull when they need to surface a discovery failure to the caller, so the original cause (DNS failure, HTTP error, TLS error, etc.) isn't lost behind a generic "not available" message. OidcEndpointsNotAvailableException's constructor is internal to this module, so this is exposed as the supported way for other modules to get the same cause-preserving behavior without constructing the exception themselves.