isundil 1 月之前
父節點
當前提交
de2abbb775

+ 6 - 0
dist/index.d.ts

@@ -8,4 +8,10 @@ export declare class AuthenticationLoader {
     tryLogin(username: string, password: string, totpCode?: string): Promise<boolean>;
     needTotp(username: string): Promise<boolean>;
 }
+import { YesManAuthenticationHandler } from './yesManAuthenticationHandler';
+export { YesManAuthenticationHandler };
+import { TotpChecker, ToTpGeneratorOptions, ToTpSecretAndUrl } from './totpChecker';
+export { TotpChecker, ToTpGeneratorOptions, ToTpSecretAndUrl };
+import { AccountInformation, EncodePasswordFunction, GetAccountInformationFunction, SqliteAuthenticationHandler } from './sqliteAuthenticationHandler';
+export { AccountInformation, EncodePasswordFunction, GetAccountInformationFunction, SqliteAuthenticationHandler };
 //# sourceMappingURL=index.d.ts.map

+ 1 - 1
dist/index.d.ts.map

@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAC,IAAI,CAAC,CAAC;IACnF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAC,IAAI,CAAC,CAAC;CACrD;AAED,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAgC;IAEzC,wBAAwB,CAAC,qBAAqB,EAAE,sBAAsB;IAIhE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ5D"}
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAC,IAAI,CAAC,CAAC;IACnF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAC,IAAI,CAAC,CAAC;CACrD;AAED,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAgC;IAEzC,wBAAwB,CAAC,qBAAqB,EAAE,sBAAsB;IAIhE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ5D;AAED,OAAO,EAAE,2BAA2B,EAAE,MAAK,+BAA+B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AACtJ,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,CAAC"}

+ 6 - 0
dist/index.js

@@ -35,4 +35,10 @@ export class AuthenticationLoader {
         });
     }
 }
+import { YesManAuthenticationHandler } from './yesManAuthenticationHandler';
+export { YesManAuthenticationHandler };
+import { TotpChecker } from './totpChecker';
+export { TotpChecker };
+import { SqliteAuthenticationHandler } from './sqliteAuthenticationHandler';
+export { SqliteAuthenticationHandler };
 //# sourceMappingURL=index.js.map

+ 1 - 1
dist/index.js.map

@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,OAAO,oBAAoB;IAAjC;QACY,aAAQ,GAA6B,EAAE,CAAC;IAuBpD,CAAC;IArBU,wBAAwB,CAAC,qBAA6C;QACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC9C,CAAC;IAEY,QAAQ,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAiB;;YACvE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9D,IAAI,MAAM,KAAK,IAAI;oBACf,OAAO,MAAM,CAAC;YACtB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KAAA;IAEY,QAAQ,CAAC,QAAgB;;YAClC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,MAAM,KAAK,IAAI;oBACf,OAAO,MAAM,CAAC;YACtB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KAAA;CACJ"}
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,OAAO,oBAAoB;IAAjC;QACY,aAAQ,GAA6B,EAAE,CAAC;IAuBpD,CAAC;IArBU,wBAAwB,CAAC,qBAA6C;QACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC9C,CAAC;IAEY,QAAQ,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAiB;;YACvE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9D,IAAI,MAAM,KAAK,IAAI;oBACf,OAAO,MAAM,CAAC;YACtB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KAAA;IAEY,QAAQ,CAAC,QAAgB;;YAClC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,MAAM,KAAK,IAAI;oBACf,OAAO,MAAM,CAAC;YACtB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KAAA;CACJ;AAED,OAAO,EAAE,2BAA2B,EAAE,MAAK,+BAA+B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,CAAC;AACvC,OAAO,EAAE,WAAW,EAA0C,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,WAAW,EAA0C,CAAC;AAC/D,OAAO,EAA6E,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AACtJ,OAAO,EAA6E,2BAA2B,EAAE,CAAC"}

+ 8 - 0
dist/yesManAuthenticationHandler.d.ts

@@ -0,0 +1,8 @@
+import { IAuthenticationHandler } from ".";
+export declare class YesManAuthenticationHandler implements IAuthenticationHandler {
+    private useTotp;
+    constructor(useTotp: boolean);
+    tryLogin(username: string, password: string, totp?: string): Promise<boolean | null>;
+    needTotp(username: string): Promise<boolean | null>;
+}
+//# sourceMappingURL=yesManAuthenticationHandler.d.ts.map

+ 1 - 0
dist/yesManAuthenticationHandler.d.ts.map

@@ -0,0 +1 @@
+{"version":3,"file":"yesManAuthenticationHandler.d.ts","sourceRoot":"","sources":["../src/yesManAuthenticationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,GAAG,CAAC;AAG3C,qBAAa,2BAA4B,YAAW,sBAAsB;IACtE,OAAO,CAAC,OAAO,CAAU;gBAEN,OAAO,EAAE,OAAO;IAG5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAWpF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;CAG7D"}

+ 21 - 0
dist/yesManAuthenticationHandler.js

@@ -0,0 +1,21 @@
+import { TotpChecker } from "./totpChecker";
+export class YesManAuthenticationHandler {
+    constructor(useTotp) {
+        this.useTotp = useTotp;
+    }
+    tryLogin(username, password, totp) {
+        if (!username)
+            return Promise.resolve(null);
+        if (!password)
+            return Promise.resolve(false);
+        if ((this.useTotp && !totp) || (!this.useTotp && totp))
+            return Promise.resolve(false);
+        if (!totp)
+            return Promise.resolve(true);
+        return TotpChecker.ValidateTotp(TotpChecker.EncodeBase32(Buffer.from(username)), totp);
+    }
+    needTotp(username) {
+        return Promise.resolve(username ? this.useTotp : null);
+    }
+}
+//# sourceMappingURL=yesManAuthenticationHandler.js.map

+ 1 - 0
dist/yesManAuthenticationHandler.js.map

@@ -0,0 +1 @@
+{"version":3,"file":"yesManAuthenticationHandler.js","sourceRoot":"","sources":["../src/yesManAuthenticationHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,OAAO,2BAA2B;IAGpC,YAAmB,OAAgB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACM,QAAQ,CAAC,QAAgB,EAAE,QAAgB,EAAE,IAAa;QAC7D,IAAI,CAAC,QAAQ;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YAClD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3F,CAAC;IACM,QAAQ,CAAC,QAAgB;QAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;CACJ"}

+ 2 - 1
package.json

@@ -8,10 +8,11 @@
   "main": "index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
-    "build": "tsc src/index.ts"
+    "build": "npx tsc"
   },
   "devDependencies": {
     "crypto": "^1.0.1",
+    "npx": "^10.2.2",
     "ts-node": "^10.9.2",
     "typescript": "^5.9.3"
   }

+ 7 - 0
src/index.ts

@@ -29,3 +29,10 @@ export class AuthenticationLoader {
         return false;
     }
 }
+
+import { YesManAuthenticationHandler }from './yesManAuthenticationHandler';
+export { YesManAuthenticationHandler };
+import { TotpChecker, ToTpGeneratorOptions, ToTpSecretAndUrl } from './totpChecker';
+export { TotpChecker, ToTpGeneratorOptions, ToTpSecretAndUrl };
+import { AccountInformation, EncodePasswordFunction, GetAccountInformationFunction, SqliteAuthenticationHandler } from './sqliteAuthenticationHandler'
+export { AccountInformation, EncodePasswordFunction, GetAccountInformationFunction, SqliteAuthenticationHandler };

+ 0 - 0
src/YesManAuthenticationHandler.ts → src/yesManAuthenticationHandler.ts