private static T SetParameter <T>(T baseRequest, Action <TokenAcquisitionAuthenticationProviderOption> action) where T : IBaseRequest { string authHandlerOptionKey = typeof(AuthenticationHandlerOption).FullName !; AuthenticationHandlerOption authHandlerOptions; try { authHandlerOptions = baseRequest.MiddlewareOptions[authHandlerOptionKey] as AuthenticationHandlerOption ?? new AuthenticationHandlerOption(); } catch (Exception) { authHandlerOptionKey = typeof(AuthenticationHandlerOption).Name !; authHandlerOptions = baseRequest.MiddlewareOptions[authHandlerOptionKey] as AuthenticationHandlerOption ?? new AuthenticationHandlerOption(); } TokenAcquisitionAuthenticationProviderOption msalAuthProviderOption = authHandlerOptions?.AuthenticationProviderOption as TokenAcquisitionAuthenticationProviderOption ?? new TokenAcquisitionAuthenticationProviderOption(); action(msalAuthProviderOption); #pragma warning disable CS8602 // Dereference of a possibly null reference. The Graph SDK ensures it exists authHandlerOptions.AuthenticationProviderOption = msalAuthProviderOption; #pragma warning restore CS8602 // Dereference of a possibly null reference. baseRequest.MiddlewareOptions[authHandlerOptionKey] = authHandlerOptions; return(baseRequest); }
public TokenAcquisitionAuthenticationProvider(ITokenAcquisition tokenAcquisition, TokenAcquisitionAuthenticationProviderOption options) { _tokenAcquisition = tokenAcquisition; _initialOptions = options; }