mirror of
https://github.com/certd/certd.git
synced 2026-07-17 19:47:34 +08:00
chore: format
This commit is contained in:
@@ -8,7 +8,7 @@ import { FlexCDNClient } from "./client.js";
|
||||
name: "flexcdn",
|
||||
title: "FlexCDN授权",
|
||||
desc: "",
|
||||
icon: "svg:icon-lucky"
|
||||
icon: "svg:icon-lucky",
|
||||
})
|
||||
export class FlexCDNAccess extends BaseAccess {
|
||||
@AccessInput({
|
||||
@@ -16,9 +16,9 @@ export class FlexCDNAccess extends BaseAccess {
|
||||
component: {
|
||||
placeholder: "http://xxxxxxx:8080",
|
||||
name: "a-input",
|
||||
vModel: "value"
|
||||
vModel: "value",
|
||||
},
|
||||
required: true
|
||||
required: true,
|
||||
})
|
||||
endpoint!: string;
|
||||
|
||||
@@ -31,15 +31,15 @@ export class FlexCDNAccess extends BaseAccess {
|
||||
options: [
|
||||
{
|
||||
value: "user",
|
||||
label: "普通用户"
|
||||
label: "普通用户",
|
||||
},
|
||||
{
|
||||
value: "admin",
|
||||
label: "管理员"
|
||||
}
|
||||
]
|
||||
label: "管理员",
|
||||
},
|
||||
],
|
||||
},
|
||||
required: true
|
||||
required: true,
|
||||
})
|
||||
type!: string;
|
||||
|
||||
@@ -49,11 +49,11 @@ export class FlexCDNAccess extends BaseAccess {
|
||||
placeholder: "accessKeyId",
|
||||
component: {
|
||||
name: "a-input",
|
||||
vModel: "value"
|
||||
}
|
||||
vModel: "value",
|
||||
},
|
||||
},
|
||||
encrypt: false,
|
||||
required: true
|
||||
required: true,
|
||||
})
|
||||
accessKeyId!: string;
|
||||
|
||||
@@ -63,11 +63,11 @@ export class FlexCDNAccess extends BaseAccess {
|
||||
placeholder: "accessKey",
|
||||
component: {
|
||||
name: "a-input",
|
||||
vModel: "value"
|
||||
}
|
||||
vModel: "value",
|
||||
},
|
||||
},
|
||||
encrypt: true,
|
||||
required: true
|
||||
required: true,
|
||||
})
|
||||
accessKey!: string;
|
||||
|
||||
@@ -75,7 +75,7 @@ export class FlexCDNAccess extends BaseAccess {
|
||||
title: "忽略证书校验",
|
||||
component: {
|
||||
name: "a-switch",
|
||||
vModel: "checked"
|
||||
vModel: "checked",
|
||||
},
|
||||
encrypt: false,
|
||||
required: true,
|
||||
@@ -87,9 +87,9 @@ export class FlexCDNAccess extends BaseAccess {
|
||||
title: "测试",
|
||||
component: {
|
||||
name: "api-test",
|
||||
action: "TestRequest"
|
||||
action: "TestRequest",
|
||||
},
|
||||
helper: "点击测试接口看是否正常"
|
||||
helper: "点击测试接口看是否正常",
|
||||
})
|
||||
testRequest = true;
|
||||
|
||||
@@ -98,7 +98,7 @@ export class FlexCDNAccess extends BaseAccess {
|
||||
const client = new FlexCDNClient({
|
||||
logger: this.ctx.logger,
|
||||
http,
|
||||
access: this
|
||||
access: this,
|
||||
});
|
||||
const token = await client.getToken();
|
||||
if (token) {
|
||||
|
||||
@@ -14,7 +14,6 @@ export class FlexCDNClient {
|
||||
}
|
||||
|
||||
async getToken() {
|
||||
|
||||
/*
|
||||
步骤2:调用API获取AccessToken
|
||||
接口地址
|
||||
@@ -51,24 +50,23 @@ accessKeyId 和 accessKey 换成你在步骤1中创建的AccessKey对应的数
|
||||
accessKey: this.access.accessKey,
|
||||
},
|
||||
});
|
||||
this.token = res.token
|
||||
return this.token
|
||||
this.token = res.token;
|
||||
return this.token;
|
||||
}
|
||||
|
||||
async doRequest(req: HttpRequestConfig) {
|
||||
|
||||
const headers = {
|
||||
...req.headers,
|
||||
}
|
||||
if(this.token){
|
||||
headers[ "X-Cloud-Access-Token"] = this.token
|
||||
};
|
||||
if (this.token) {
|
||||
headers["X-Cloud-Access-Token"] = this.token;
|
||||
}
|
||||
const res = await this.http.request({
|
||||
...req,
|
||||
headers,
|
||||
baseURL: this.access.endpoint,
|
||||
logRes:false,
|
||||
logParams:false,
|
||||
logRes: false,
|
||||
logParams: false,
|
||||
skipSslVerify: true,
|
||||
});
|
||||
if (res.code === 200) {
|
||||
@@ -77,5 +75,4 @@ accessKeyId 和 accessKey 换成你在步骤1中创建的AccessKey对应的数
|
||||
throw new Error(res.message);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from "@certd/pipeline";
|
||||
import { CertApplyPluginNames, CertInfo,CertReader } from "@certd/plugin-cert";
|
||||
import { CertApplyPluginNames, CertInfo, CertReader } from "@certd/plugin-cert";
|
||||
import { createCertDomainGetterInputDefine, createRemoteSelectInputDefine } from "@certd/plugin-lib";
|
||||
import { FlexCDNAccess } from "../access.js";
|
||||
import { FlexCDNClient } from "../client.js";
|
||||
@@ -15,9 +15,9 @@ import { FlexCDNClient } from "../client.js";
|
||||
default: {
|
||||
//默认值配置照抄即可
|
||||
strategy: {
|
||||
runStrategy: RunStrategy.SkipWhenSucceed
|
||||
}
|
||||
}
|
||||
runStrategy: RunStrategy.SkipWhenSucceed,
|
||||
},
|
||||
},
|
||||
})
|
||||
//类名规范,跟上面插件名称(name)一致
|
||||
export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
@@ -27,8 +27,8 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
helper: "请选择前置任务输出的域名证书",
|
||||
component: {
|
||||
name: "output-selector",
|
||||
from: [...CertApplyPluginNames]
|
||||
}
|
||||
from: [...CertApplyPluginNames],
|
||||
},
|
||||
// required: true, // 必填
|
||||
})
|
||||
cert!: CertInfo;
|
||||
@@ -41,9 +41,9 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
title: "FlexCDN授权",
|
||||
component: {
|
||||
name: "access-selector",
|
||||
type: "flexcdn" //固定授权类型
|
||||
type: "flexcdn", //固定授权类型
|
||||
},
|
||||
required: true //必填
|
||||
required: true, //必填
|
||||
})
|
||||
accessId!: string;
|
||||
//
|
||||
@@ -52,14 +52,13 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
createRemoteSelectInputDefine({
|
||||
title: "证书Id",
|
||||
helper: "要更新的Flex证书id",
|
||||
action: FlexCDNRefreshCert.prototype.onGetCertList.name
|
||||
action: FlexCDNRefreshCert.prototype.onGetCertList.name,
|
||||
})
|
||||
)
|
||||
certList!: number[];
|
||||
|
||||
//插件实例化时执行的方法
|
||||
async onInstance() {
|
||||
}
|
||||
async onInstance() {}
|
||||
|
||||
//插件执行方法
|
||||
async execute(): Promise<void> {
|
||||
@@ -68,7 +67,7 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
const client = new FlexCDNClient({
|
||||
http: this.ctx.http,
|
||||
logger: this.logger,
|
||||
access
|
||||
access,
|
||||
});
|
||||
await client.getToken();
|
||||
for (const item of this.certList) {
|
||||
@@ -77,13 +76,13 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
const res = await client.doRequest({
|
||||
url: `/SSLCertService/findEnabledSSLCertConfig`,
|
||||
data: {
|
||||
sslCertId: item
|
||||
}
|
||||
sslCertId: item,
|
||||
},
|
||||
});
|
||||
|
||||
const sslCert = JSON.parse(this.ctx.utils.hash.base64Decode(res.sslCertJSON))
|
||||
const sslCert = JSON.parse(this.ctx.utils.hash.base64Decode(res.sslCertJSON));
|
||||
this.logger.info(`证书信息:${sslCert.name},${sslCert.dnsNames}`);
|
||||
const certReader = new CertReader(this.cert)
|
||||
const certReader = new CertReader(this.cert);
|
||||
/**
|
||||
* commonNames: commonNames,
|
||||
* dnsNames: dnsNames,
|
||||
@@ -91,11 +90,11 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
* timeEndAt: Math.floor((new Date(currentInfo.validTo)).getTime() / 1000),
|
||||
*
|
||||
*/
|
||||
const topCrt = CertReader.readCertDetail(certReader.cert.ic)
|
||||
const commonNames =[ topCrt.detail.issuer.commonName]
|
||||
const dnsNames = certReader.getAllDomains()
|
||||
const timeBeginAt = Math.floor(certReader.detail.notBefore.getTime() / 1000);
|
||||
const timeEndAt = Math.floor(certReader.detail.notAfter.getTime() / 1000);
|
||||
const topCrt = CertReader.readCertDetail(certReader.cert.ic);
|
||||
const commonNames = [topCrt.detail.issuer.commonName];
|
||||
const dnsNames = certReader.getAllDomains();
|
||||
const timeBeginAt = Math.floor(certReader.detail.notBefore.getTime() / 1000);
|
||||
const timeEndAt = Math.floor(certReader.detail.notAfter.getTime() / 1000);
|
||||
const body = {
|
||||
...sslCert, // inherit old cert info like name and description
|
||||
commonNames,
|
||||
@@ -105,13 +104,13 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
name: sslCert.name,
|
||||
sslCertId: item,
|
||||
certData: this.ctx.utils.hash.base64(this.cert.crt),
|
||||
keyData: this.ctx.utils.hash.base64(this.cert.key)
|
||||
keyData: this.ctx.utils.hash.base64(this.cert.key),
|
||||
};
|
||||
await client.doRequest({
|
||||
url: `/SSLCertService/updateSSLCert`,
|
||||
data: {
|
||||
...body
|
||||
}
|
||||
...body,
|
||||
},
|
||||
});
|
||||
|
||||
this.logger.info(`----------- 更新证书${item}成功`);
|
||||
@@ -125,13 +124,13 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
const client = new FlexCDNClient({
|
||||
http: this.ctx.http,
|
||||
logger: this.logger,
|
||||
access
|
||||
access,
|
||||
});
|
||||
await client.getToken();
|
||||
const res = await client.doRequest({
|
||||
url: "/SSLCertService/listSSLCerts",
|
||||
data: { size: 1000 },
|
||||
method: "POST"
|
||||
method: "POST",
|
||||
});
|
||||
const list = JSON.parse(this.ctx.utils.hash.base64Decode(res.sslCertsJSON));
|
||||
if (!list || list.length === 0) {
|
||||
@@ -142,7 +141,7 @@ export class FlexCDNRefreshCert extends AbstractTaskPlugin {
|
||||
return {
|
||||
label: `${item.name}<${item.id}-${item.dnsNames?.[0]}>`,
|
||||
value: item.id,
|
||||
domain: item.dnsNames
|
||||
domain: item.dnsNames,
|
||||
};
|
||||
});
|
||||
return this.ctx.utils.options.buildGroupOptions(options, this.certDomains);
|
||||
|
||||
Reference in New Issue
Block a user