mirror of https://github.com/certd/certd
fix: 修复http上传方式无法清除记录文件的bug
parent
2943e0e58d
commit
72a7b51d47
|
@ -117,12 +117,12 @@ export default async (client, userOpts) => {
|
||||||
|
|
||||||
log(`[auto] [${d}] Trigger challengeCreateFn()`);
|
log(`[auto] [${d}] Trigger challengeCreateFn()`);
|
||||||
try {
|
try {
|
||||||
const { recordReq, recordRes, dnsProvider, challenge, keyAuthorization } = await opts.challengeCreateFn(authz, keyAuthorizationGetter);
|
const { recordReq, recordRes, dnsProvider, challenge, keyAuthorization ,httpUploader} = await opts.challengeCreateFn(authz, keyAuthorizationGetter);
|
||||||
clearTasks.push(async () => {
|
clearTasks.push(async () => {
|
||||||
/* Trigger challengeRemoveFn(), suppress errors */
|
/* Trigger challengeRemoveFn(), suppress errors */
|
||||||
log(`[auto] [${d}] Trigger challengeRemoveFn()`);
|
log(`[auto] [${d}] Trigger challengeRemoveFn()`);
|
||||||
try {
|
try {
|
||||||
await opts.challengeRemoveFn(authz, challenge, keyAuthorization, recordReq, recordRes, dnsProvider);
|
await opts.challengeRemoveFn(authz, challenge, keyAuthorization, recordReq, recordRes, dnsProvider,httpUploader);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log(`[auto] [${d}] challengeRemoveFn threw error: ${e.message}`);
|
log(`[auto] [${d}] challengeRemoveFn threw error: ${e.message}`);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ export interface ClientExternalAccountBindingOptions {
|
||||||
export interface ClientAutoOptions {
|
export interface ClientAutoOptions {
|
||||||
csr: CsrBuffer | CsrString;
|
csr: CsrBuffer | CsrString;
|
||||||
challengeCreateFn: (authz: Authorization, keyAuthorization: (challenge:rfc8555.Challenge)=>Promise<string>) => Promise<{recordReq?:any,recordRes?:any,dnsProvider?:any,challenge: rfc8555.Challenge,keyAuthorization:string}>;
|
challengeCreateFn: (authz: Authorization, keyAuthorization: (challenge:rfc8555.Challenge)=>Promise<string>) => Promise<{recordReq?:any,recordRes?:any,dnsProvider?:any,challenge: rfc8555.Challenge,keyAuthorization:string}>;
|
||||||
challengeRemoveFn: (authz: Authorization, challenge: rfc8555.Challenge, keyAuthorization: string,recordReq:any, recordRes:any,dnsProvider:any) => Promise<any>;
|
challengeRemoveFn: (authz: Authorization, challenge: rfc8555.Challenge, keyAuthorization: string,recordReq:any, recordRes:any,dnsProvider:any,httpUploader:any) => Promise<any>;
|
||||||
email?: string;
|
email?: string;
|
||||||
termsOfServiceAgreed?: boolean;
|
termsOfServiceAgreed?: boolean;
|
||||||
skipChallengeVerification?: boolean;
|
skipChallengeVerification?: boolean;
|
||||||
|
|
|
@ -35,7 +35,6 @@ export type DomainsVerifyPlan = {
|
||||||
export type Providers = {
|
export type Providers = {
|
||||||
dnsProvider?: IDnsProvider;
|
dnsProvider?: IDnsProvider;
|
||||||
domainsVerifyPlan?: DomainsVerifyPlan;
|
domainsVerifyPlan?: DomainsVerifyPlan;
|
||||||
httpUploader?: IOssClient;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export type CertInfo = {
|
export type CertInfo = {
|
||||||
|
@ -323,7 +322,7 @@ export class AcmeService {
|
||||||
isTest?: boolean;
|
isTest?: boolean;
|
||||||
privateKeyType?: string;
|
privateKeyType?: string;
|
||||||
}): Promise<CertInfo> {
|
}): Promise<CertInfo> {
|
||||||
const { email, isTest, csrInfo, dnsProvider, domainsVerifyPlan, httpUploader } = options;
|
const { email, isTest, csrInfo, dnsProvider, domainsVerifyPlan } = options;
|
||||||
const client: acme.Client = await this.getAcmeClient(email, isTest);
|
const client: acme.Client = await this.getAcmeClient(email, isTest);
|
||||||
|
|
||||||
let domains = options.domains;
|
let domains = options.domains;
|
||||||
|
@ -370,14 +369,13 @@ export class AcmeService {
|
||||||
privateKey
|
privateKey
|
||||||
);
|
);
|
||||||
|
|
||||||
if (dnsProvider == null && domainsVerifyPlan == null && httpUploader == null) {
|
if (dnsProvider == null && domainsVerifyPlan == null) {
|
||||||
throw new Error("dnsProvider 、 domainsVerifyPlan 、 httpUploader不能都为空");
|
throw new Error("dnsProvider 、 domainsVerifyPlan不能都为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
const providers: Providers = {
|
const providers: Providers = {
|
||||||
dnsProvider,
|
dnsProvider,
|
||||||
domainsVerifyPlan,
|
domainsVerifyPlan,
|
||||||
httpUploader,
|
|
||||||
};
|
};
|
||||||
/* 自动申请证书 */
|
/* 自动申请证书 */
|
||||||
const crt = await client.auto({
|
const crt = await client.auto({
|
||||||
|
@ -392,7 +390,7 @@ export class AcmeService {
|
||||||
): Promise<{ recordReq?: any; recordRes?: any; dnsProvider?: any; challenge: Challenge; keyAuthorization: string }> => {
|
): Promise<{ recordReq?: any; recordRes?: any; dnsProvider?: any; challenge: Challenge; keyAuthorization: string }> => {
|
||||||
return await this.challengeCreateFn(authz, keyAuthorizationGetter, providers);
|
return await this.challengeCreateFn(authz, keyAuthorizationGetter, providers);
|
||||||
},
|
},
|
||||||
challengeRemoveFn: async (authz: acme.Authorization, challenge: Challenge, keyAuthorization: string, recordReq: any, recordRes: any, dnsProvider: IDnsProvider): Promise<any> => {
|
challengeRemoveFn: async (authz: acme.Authorization, challenge: Challenge, keyAuthorization: string, recordReq: any, recordRes: any, dnsProvider: IDnsProvider, httpUploader: IOssClient): Promise<any> => {
|
||||||
return await this.challengeRemoveFn(authz, challenge, keyAuthorization, recordReq, recordRes, dnsProvider, httpUploader);
|
return await this.challengeRemoveFn(authz, challenge, keyAuthorization, recordReq, recordRes, dnsProvider, httpUploader);
|
||||||
},
|
},
|
||||||
signal: this.options.signal,
|
signal: this.options.signal,
|
||||||
|
|
|
@ -18,7 +18,7 @@ export type OssFileItem = {
|
||||||
|
|
||||||
export type IOssClient = {
|
export type IOssClient = {
|
||||||
upload: (fileName: string, fileContent: Buffer) => Promise<void>;
|
upload: (fileName: string, fileContent: Buffer) => Promise<void>;
|
||||||
remove: (fileName: string) => Promise<void>;
|
remove: (fileName: string, opts?: { joinRootDir?: boolean }) => Promise<void>;
|
||||||
|
|
||||||
download: (fileName: string, savePath: string) => Promise<void>;
|
download: (fileName: string, savePath: string) => Promise<void>;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue