diff --git a/doc/google/google.md b/doc/google/google.md index a6d4773f5..c9471920c 100644 --- a/doc/google/google.md +++ b/doc/google/google.md @@ -8,8 +8,8 @@ https://console.cloud.google.com/apis/library/publicca.googleapis.com 打开该链接后点击“启用”,随后等待右侧出现“API已启用”则可以关闭该页。 ## 2、 获取授权 -以下两种方式任选其一,有代理的话,推荐选第二种 -### 2.1 直接获取一次性EAB +以下两种方式任选其一 +### 2.1 直接获取EAB 1. 打开“Google Cloud Shell”(在右上角点击激活CloudShell图标)。 等待分配完成后在 Shell 窗口内输入如下命令: @@ -29,9 +29,8 @@ keyId: xxxxxxxxxxxxx] 3. 到Certd中,创建一条EAB授权记录,填写keyId(=kid) 和 b64MacKey 信息 注意:keyId没有`]`结尾,不要把`]`也复制了 -注意:此方式获取的EAB是一次性的,只能用于申请一次证书,优势是无需代理。 -### 2.2 通过服务账号获取EAB【推荐】 +### 2.2 通过服务账号获取EAB 此方式可以自动EAB,需要配置代理 diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts index ed1a44dfe..4322dde9e 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts @@ -145,38 +145,19 @@ export class CertApplyPlugin extends CertApplyBasePlugin { type: "eab", }, maybeNeed: true, - required: true, - helper: "需要提供EAB授权\nZeroSSL:请前往[zerossl开发者中心](https://app.zerossl.com/developer),生成 'EAB Credentials'", + required: false, + helper: + "需要提供EAB授权\nZeroSSL:请前往[zerossl开发者中心](https://app.zerossl.com/developer),生成 'EAB Credentials'\n Google:请查看[google获取eab帮助文档](https://gitee.com/certd/certd/blob/v2/doc/google/google.md)", mergeScript: ` return { show: ctx.compute(({form})=>{ - return form.sslProvider === 'zerossl' + return form.sslProvider === 'zerossl' || form.sslProvider === 'google' }) } `, }) eabAccessId!: number; - @TaskInput({ - title: "临时EAB授权", - component: { - name: "access-selector", - type: "eab", - }, - maybeNeed: true, - required: false, - helper: - "请查看[google获取eab帮助文档](https://gitee.com/certd/certd/blob/v2/doc/google/google.md)\n注意此方式获取的EAB授权是一次性的,下次申请需要重新获取授权\n推荐使用Google服务账号授权自动获取EAB", - mergeScript: ` - return { - show: ctx.compute(({form})=>{ - return form.sslProvider === 'google' - }) - } - `, - }) - googleEabAccessId!: number; - @TaskInput({ title: "服务账号授权", component: { @@ -186,7 +167,7 @@ export class CertApplyPlugin extends CertApplyBasePlugin { maybeNeed: true, required: false, helper: - "google服务账号授权与google一次性EAB授权选填其中一个,[服务账号授权获取方法](https://gitee.com/certd/certd/blob/v2/doc/google/google.md)\n服务账号授权需要配置代理或者服务器本身在海外", + "google服务账号授权与EAB授权选填其中一个,[服务账号授权获取方法](https://gitee.com/certd/certd/blob/v2/doc/google/google.md)\n服务账号授权需要配置代理或者服务器本身在海外", mergeScript: ` return { show: ctx.compute(({form})=>{ @@ -248,25 +229,27 @@ export class CertApplyPlugin extends CertApplyBasePlugin { if (this.sslProvider === "google") { if (this.googleAccessId) { + this.logger.info("您正在使用google服务账号授权"); const googleAccess = await this.ctx.accessService.getById(this.googleAccessId); const googleClient = new GoogleClient({ access: googleAccess, logger: this.logger, }); eab = await googleClient.getEab(); - } else if (this.googleEabAccessId || this.eabAccessId) { - this.logger.warn("您正在使用google一次性EAB授权,下次申请证书需要重新获取"); - eab = await this.ctx.accessService.getById(this.googleEabAccessId); + } else if (this.eabAccessId) { + this.logger.info("您正在使用google EAB授权"); + eab = await this.ctx.accessService.getById(this.eabAccessId); } else { this.logger.error("google需要配置EAB授权或服务账号授权"); return; } } else if (this.sslProvider === "zerossl") { if (this.eabAccessId) { - this.logger.error("zerossl需要EAB授权"); + eab = await this.ctx.accessService.getById(this.eabAccessId); + } else { + this.logger.error("zerossl需要配置EAB授权"); return; } - eab = await this.ctx.accessService.getById(this.eabAccessId); } this.acme = new AcmeService({