예제 #1
0
        public void ProcessRequest(HttpContext context)
        {
            if (context.User is ClaimsPrincipal principal)
            {
                if (principal.Identity?.IsAuthenticated == false)
                {
                    context.Response.Write("Not Authenticated");
                    context.Response.StatusCode = 401;
                    context.Response.Flush();
                    context.Response.End();
                    return;
                }

                var messagePrincipal = MessagePrincipal.FromClaimsPrincipal(principal);
                var bytes            = MessagePackSerializer.Serialize(messagePrincipal);
                context.Response.BinaryWrite(bytes);
                context.Response.StatusCode = 200;
                context.Response.Flush();
                context.Response.End();
                return;
            }

            context.Response.StatusCode = 401;
            context.Response.Flush();
            context.Response.End();
        }
예제 #2
0
        public void ProcessRequest(HttpContextBase context)
        {
            context.Response.TrySkipIisCustomErrors = true;
            context.Response.SuppressFormsAuthenticationRedirect = true;

            if (context.User is ClaimsPrincipal principal)
            {
                if (principal.Identity?.IsAuthenticated == false)
                {
                    context.Response.Write("Not Authenticated");
                    context.Response.StatusCode = 401;
                    context.Response.Flush();
                    context.Response.End();
                    return;
                }

                var messagePrincipal = MessagePrincipal.FromClaimsPrincipal(principal);
                var bytes            = MessagePackSerializer.Serialize(messagePrincipal);
                context.Response.BinaryWrite(bytes);
                context.Response.StatusCode = 200;
                context.Response.Flush();
                context.Response.End();
                return;
            }

            context.Response.StatusCode = 401;
            context.Response.Flush();
            context.Response.End();
        }