YesManAuthenticationHandler.js 747 B

123456789101112131415161718192021
  1. import { TotpChecker } from "./totpChecker";
  2. export class YesManAuthenticationHandler {
  3. constructor(useTotp) {
  4. this.useTotp = useTotp;
  5. }
  6. tryLogin(username, password, totp) {
  7. if (!username)
  8. return Promise.resolve(null);
  9. if (!password)
  10. return Promise.resolve(false);
  11. if ((this.useTotp && !totp) || (!this.useTotp && totp))
  12. return Promise.resolve(false);
  13. if (!totp)
  14. return Promise.resolve(true);
  15. return TotpChecker.ValidateTotp(TotpChecker.EncodeBase32(Buffer.from(username)), totp);
  16. }
  17. needTotp(username) {
  18. return Promise.resolve(username ? this.useTotp : null);
  19. }
  20. }
  21. //# sourceMappingURL=YesManAuthenticationHandler.js.map