/// <summary>
        /// Use Shopify Shop OAuth authentication.
        /// </summary>
        /// <param name="app">Instance of <see cref="IAppBuilder"/>.</param>
        /// <param name="options">Shopify overwritten authentication options.</param>
        /// <returns>Returns instance of <see cref="IAppBuilder"/>.</returns>
        public static IAppBuilder UseShopifyAuthentication(this IAppBuilder app, ShopifyAuthenticationOptions options)
        {
            if (null == app)
            {
                throw new ArgumentNullException(nameof(app));
            }

            if (null == options)
            {
                throw new ArgumentNullException(nameof(options));
            }

            app.Use(typeof(ShopifyAuthenticationMiddleware), app, options);
            return(app);
        }
        /// <summary>
        /// Use Shopify Shop OAuth authentication.
        /// </summary>
        /// <param name="app">Instance of <see cref="IAppBuilder"/>.</param>
        /// <param name="options">Shopify overrided authentication options.</param>
        /// <returns>Returns instance of <see cref="IAppBuilder"/>.</returns>
        public static IAppBuilder UseShopifyAuthentication(this IAppBuilder app, ShopifyAuthenticationOptions options)
        {
            if (null == app)
            {
                throw new ArgumentNullException("app");
            }

            if (null == options)
            {
                throw new ArgumentNullException("options");
            }

            app.Use(typeof(ShopifyAuthenticationMiddleware), app, options);
            return app;
        }