/// <summary>The use ping federate authentication.</summary>
        /// <param name="app">The app.</param>
        /// <param name="options">The options.</param>
        /// <returns>The <see cref="IAppBuilder"/>.</returns>
        /// <exception cref="ArgumentNullException">If the parameters are null</exception>
        public static IAppBuilder UsePingFederateAuthentication(
            this IAppBuilder app, 
            PingFederateAuthenticationOptions options)
        {
            if (app == null)
            {
                throw new ArgumentNullException("app");
            }

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

            app.Use(typeof(PingFederateAuthenticationMiddleware), app, options);

            return app;
        }
        /// <summary>The use ping federate authentication.</summary>
        /// <param name="app">The app.</param>
        /// <param name="options">The options.</param>
        /// <returns>The <see cref="IAppBuilder"/>.</returns>
        /// <exception cref="ArgumentNullException">If the parameters are null</exception>
        public static IAppBuilder UsePingFederateAuthentication(
            this IAppBuilder app,
            PingFederateAuthenticationOptions options)
        {
            if (app == null)
            {
                throw new ArgumentNullException("app");
            }

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

            app.Use(typeof(PingFederateAuthenticationMiddleware), app, options);

            return(app);
        }