/// <summary>
 /// Creates an authenticated OneDrive client for use against OneDrive consumer.
 /// </summary>
 /// <param name="appId">The application ID for Microsoft account authentication.</param>
 /// <param name="returnUrl">The application return URL for Microsoft account authentication.</param>
 /// <param name="scopes">The requested scopes for Microsoft account authentication.</param>
 /// <param name="authenticationProvider">The <see cref="IAuthenticationProvider"/> for authenticating the client.</param>
 /// <param name="credentialCache">The cache instance for storing user credentials.</param>
 /// <param name="httpProvider">The <see cref="IHttpProvider"/> for sending HTTP requests.</param>
 /// <returns>The <see cref="IOneDriveClient"/> for the session.</returns>
 public static Task <IOneDriveClient> GetAuthenticatedMicrosoftAccountClient(
     string appId,
     string returnUrl,
     string[] scopes,
     IAuthenticationProvider authenticationProvider,
     CredentialCache credentialCache = null,
     IHttpProvider httpProvider      = null)
 {
     return(OneDriveClient.GetAuthenticatedMicrosoftAccountClient(
                appId,
                returnUrl,
                scopes,
                /* clientSecret */ null,
                new ServiceInfoProvider(authenticationProvider),
                credentialCache,
                httpProvider));
 }
 /// <summary>
 /// Creates an authenticated OneDrive client for use against OneDrive consumer.
 /// </summary>
 /// <param name="appId">The application ID for Microsoft account authentication.</param>
 /// <param name="returnUrl">The application return URL for Microsoft account authentication.</param>
 /// <param name="scopes">The requested scopes for Microsoft account authentication.</param>
 /// <param name="webAuthenticationUi">The <see cref="IWebAuthenticationUi"/> for displaying authentication UI to the user.</param>
 /// <param name="credentialCache">The cache instance for storing user credentials.</param>
 /// <param name="httpProvider">The <see cref="IHttpProvider"/> for sending HTTP requests.</param>
 /// <returns>The <see cref="IOneDriveClient"/> for the session.</returns>
 public static Task <IOneDriveClient> GetAuthenticatedMicrosoftAccountClient(
     string appId,
     string returnUrl,
     string[] scopes,
     IWebAuthenticationUi webAuthenticationUi,
     CredentialCache credentialCache = null,
     IHttpProvider httpProvider      = null)
 {
     return(OneDriveClient.GetAuthenticatedMicrosoftAccountClient(
                appId,
                returnUrl,
                scopes,
                /* clientSecret */ null,
                webAuthenticationUi,
                credentialCache,
                httpProvider));
 }