Inheritance: Microsoft.Owin.Security.AuthenticationOptions
        /// <summary>
        /// Authenticate users using WSO2 OAuth 2.0
        /// </summary>
        /// <param name="app">The <see cref="IAppBuilder"/> passed to the configuration method</param>
        /// <param name="options">Middleware configuration options</param>
        /// <returns>The updated <see cref="IAppBuilder"/></returns>
		public static IAppBuilder UseWSO2Authentication(this IAppBuilder app, WSO2AuthenticationOptions options)
		{
			if (app == null)
				throw new ArgumentNullException(nameof(app));
			if (options == null)
				throw new ArgumentNullException(nameof(options));

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

			return app;
		}
        /// <summary>
        /// Authenticate users using WSO2 OAuth 2.0
        /// </summary>
        /// <param name="app">The <see cref="IAppBuilder"/> passed to the configuration method</param>
        /// <param name="options">Middleware configuration options</param>
        /// <returns>The updated <see cref="IAppBuilder"/></returns>
        public static IAppBuilder UseWSO2Authentication(this IAppBuilder app, WSO2AuthenticationOptions options)
        {
            if (app == null)
            {
                throw new ArgumentNullException(nameof(app));
            }
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

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

            return(app);
        }