yesManAuthenticationHandler.js 763 B

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