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)); }
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)); }