public AnonymousIdentificationMiddleware(
            OwinMiddleware next,
            IAppBuilder app,
            AnonymousIdentificationOptions options)
            : base(next)
        {
            _options = options;
            _logger  = app.CreateLogger <AnonymousIdentificationMiddleware>();

            if (string.IsNullOrEmpty(options.CookieName))
            {
                options.CookieName = ".ASPXANONYMOUS";
            }

            if (string.IsNullOrEmpty(options.HeaderName))
            {
                options.HeaderName = "X-AnonymousId";
            }

            if (options.CookieManager == null)
            {
                options.CookieManager = new ChunkingCookieManager();
            }

            if (options.AnonymousIdDataFormat == null)
            {
                IDataProtector protector = app.CreateDataProtector(
                    typeof(AnonymousIdentificationMiddleware).FullName,
                    "Anonymous",
                    "v1");
                options.AnonymousIdDataFormat = new AnonymousIdDataFormat(protector);
            }
        }
Пример #2
0
        public static IAppBuilder UseAnonymousAuthentication(
            this IAppBuilder app,
            AnonymousIdentificationOptions options)
        {
            if (app == null)
            {
                throw new ArgumentNullException(nameof(app));
            }

            app.Use(typeof(AnonymousIdentificationMiddleware), app, options);
            app.UseStageMarker(PipelineStage.PostAuthenticate);

            return(app);
        }