Пример #1
0
        public override Task Invoke(IOwinContext context)
        {
            if (!RequestTools.Validate(
                    context.Request,
                    options.Algorithm,
                    options.SecretRepository,
                    options.Time,
                    options.ClockSkew))
            {
                var res = context.Response;
                res.StatusCode = 401;
                res.Headers.Append(Headers.WWWAuthenticate, Schemas.Bearer);

                return(Task.CompletedTask);
            }

            return(Next.Invoke(context));
        }
Пример #2
0
 public override async Task Invoke(IOwinContext context)
 {
     if (RequestTools.Validate(
             context.Request,
             options.Algorithm,
             options.AppSecretRepository,
             options.Time,
             options.Tolerance))
     {
         await Next.Invoke(context);
     }
     else
     {
         var res = context.Response;
         res.StatusCode = 401;
         res.Headers.Append(Headers.WWWAuthenticate, Schemas.HMAC);
     }
 }
        protected override Task <AuthenticationTicket> AuthenticateCoreAsync()
        {
            AuthenticationTicket ticket = null;

            if (RequestTools.Validate(
                    Request,
                    Options.Algorithm,
                    Options.AppSecretRepository,
                    Options.Time,
                    Options.Tolerance))
            {
                var appId = RequestTools.GetAppId(Request);

                var claims = MapDefaultClaims(appId, Request);
                if (Options.MapClaims != null)
                {
                    claims = MergeClaims(claims, Options.MapClaims(appId, Request));
                }

                ticket = new AuthenticationTicket(new ClaimsIdentity(claims, Options.SignInAsAuthenticationType), new AuthenticationProperties());
            }

            return(Task.FromResult(ticket));
        }