public async Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken) { var request = context.Request; var requestScope = context.Request.GetDependencyScope(); _basicmanager = requestScope.GetService(typeof(IBasicManager)) as IBasicManager; var authorization = request.Headers.Authorization; if (authorization == null) { context.ErrorResult = new AuthenticationFailureResult("Missing Authorization Value", request); return; } if (authorization.Scheme != "Basic") { context.ErrorResult = new AuthenticationFailureResult("Wrong Authorization Scheme", request); return; } if (string.IsNullOrEmpty(authorization.Parameter)) { context.ErrorResult = new AuthenticationFailureResult("Missing Basic Token", request); return; } var token = authorization.Parameter; var principal = await AuthenticateBasicToken(token); if (principal == null) { context.ErrorResult = new AuthenticationFailureResult("Invalid token", request); } else { context.Principal = principal; } }
/// <summary> /// /// </summary> /// <param name="manager"></param> public BasicController(IBasicManager manager) { this.manager = manager; }