/// <summary>
 /// Creates a new OpenIdConnectAuthenticationHandler with the default exchanger (uses HttpClient).
 /// </summary>
 /// <param name="openIdSettings">
 /// The OpenId client and server settings. 
 /// This includes the client_id and client_secret, as well as the server endpoints.
 /// </param>
 /// <param name="sessionSessionStateStore">
 /// A session store that will be used to save the state parameters, for CSRF protection.
 /// </param>
 public OpenIdConnectClient(
     OpenIdConnectAuthenticationSettings openIdSettings,
     ISessionStateStore sessionSessionStateStore)
 {
     _openIdSettings = openIdSettings;
     _sessionSessionStateStore = sessionSessionStateStore;
     _codeForAccessTokenExchanger = new HttpClientCodeForAccessTokenExchanger();
 }
 /// <summary>
 /// Creates a new OpenIdConnectAuthenticationHandler.
 /// </summary>
 /// <param name="openIdSettings">
 /// The OpenId client and server settings. 
 /// This includes the client_id and client_secret, as well as the server endpoints.
 /// </param>
 /// <param name="sessionSessionStateStore">
 /// A session store that will be used to save the state parameters, for CSRF protection.
 /// </param>
 /// <param name="codeForAccessTokenExchanger">
 /// A instance of someone that can exchange authorization codes for access tokens.
 /// </param>
 public OpenIdConnectClient(
     OpenIdConnectAuthenticationSettings openIdSettings,
     ISessionStateStore sessionSessionStateStore,
     ICodeForAccessTokenExchanger codeForAccessTokenExchanger)
 {
     _openIdSettings = openIdSettings;
     _sessionSessionStateStore = sessionSessionStateStore;
     _codeForAccessTokenExchanger = codeForAccessTokenExchanger;
 }