mirror of
https://github.com/certd/certd.git
synced 2026-04-24 04:17:25 +08:00
perf: 优化天翼云cdn 等待5秒部署完成
This commit is contained in:
@@ -38,6 +38,6 @@ export type LoginUrlReply = {
|
||||
}
|
||||
|
||||
export interface IOauthProvider {
|
||||
buildLoginUrl: (params: { redirectUri: string }) => Promise<LoginUrlReply>;
|
||||
buildLoginUrl: (params: { redirectUri: string, forType?: string }) => Promise<LoginUrlReply>;
|
||||
onCallback: (params: OnCallbackReq) => Promise<OauthToken>;
|
||||
}
|
||||
@@ -29,7 +29,7 @@ export class OidcOauthProvider extends BaseAddon implements IOauthProvider {
|
||||
|
||||
@AddonInput({
|
||||
title: "服务地址",
|
||||
helper: "Issuer地址",
|
||||
helper: "Issuer地址,去掉/.well-known/openid-configuration的服务发现地址",
|
||||
component: {
|
||||
placeholder: "https://oidc.example.com/oidc",
|
||||
},
|
||||
@@ -56,7 +56,7 @@ export class OidcOauthProvider extends BaseAddon implements IOauthProvider {
|
||||
}
|
||||
}
|
||||
|
||||
async buildLoginUrl(params: { redirectUri: string }) {
|
||||
async buildLoginUrl(params: { redirectUri: string, forType?: string }) {
|
||||
const { config, client } = await this.getClient()
|
||||
|
||||
let redirect_uri = new URL(params.redirectUri)
|
||||
@@ -69,7 +69,10 @@ export class OidcOauthProvider extends BaseAddon implements IOauthProvider {
|
||||
*/
|
||||
let code_verifier = client.randomPKCECodeVerifier()
|
||||
let code_challenge = await client.calculatePKCECodeChallenge(code_verifier)
|
||||
let state = client.randomState()
|
||||
let state:any = {
|
||||
forType: params.forType || 'login',
|
||||
}
|
||||
state = this.ctx.utils.hash.base64(JSON.stringify(state))
|
||||
|
||||
let parameters: any = {
|
||||
redirect_uri,
|
||||
@@ -90,13 +93,11 @@ export class OidcOauthProvider extends BaseAddon implements IOauthProvider {
|
||||
// }
|
||||
|
||||
let redirectTo = client.buildAuthorizationUrl(config, parameters)
|
||||
|
||||
// now redirect the user to redirectTo.href
|
||||
console.log('redirecting to', redirectTo.href)
|
||||
return {
|
||||
loginUrl: redirectTo.href,
|
||||
ticketValue: {
|
||||
codeVerifier: code_verifier,
|
||||
state,
|
||||
},
|
||||
};
|
||||
}
|
||||
@@ -114,7 +115,6 @@ export class OidcOauthProvider extends BaseAddon implements IOauthProvider {
|
||||
}
|
||||
)
|
||||
|
||||
console.log('Token Endpoint Response', tokens)
|
||||
const claims = tokens.claims()
|
||||
return {
|
||||
token:{
|
||||
|
||||
@@ -124,6 +124,9 @@ export class TencentRefreshCert extends AbstractTaskPlugin {
|
||||
|
||||
let resourceTypes = []
|
||||
const resourceTypesRegions = []
|
||||
if(!this.resourceTypesRegions){
|
||||
this.resourceTypesRegions = []
|
||||
}
|
||||
for (const item of this.resourceTypesRegions) {
|
||||
const [type,region] = item.split("_")
|
||||
if (!resourceTypes.includes( type)){
|
||||
@@ -156,13 +159,17 @@ export class TencentRefreshCert extends AbstractTaskPlugin {
|
||||
break;
|
||||
}
|
||||
retryCount++
|
||||
deployRes = await sslClient.UploadUpdateCertificateInstance({
|
||||
OldCertificateId: certId,
|
||||
const params = {
|
||||
"OldCertificateId": certId,
|
||||
"ResourceTypes": resourceTypes,
|
||||
"CertificatePublicKey": this.cert.crt,
|
||||
"CertificatePrivateKey": this.cert.key,
|
||||
"CertificatePublicKey": "xxx",
|
||||
"CertificatePrivateKey": "xxx",
|
||||
"ResourceTypesRegions":resourceTypesRegions
|
||||
});
|
||||
}
|
||||
this.logger.info(`请求参数:${JSON.stringify(params)}`);
|
||||
params.CertificatePublicKey = this.cert.crt
|
||||
params.CertificatePrivateKey = this.cert.key
|
||||
deployRes = await sslClient.UploadUpdateCertificateInstance(params);
|
||||
if (deployRes && deployRes.DeployRecordId>0){
|
||||
this.logger.info(`任务创建成功,开始检查结果:${JSON.stringify(deployRes)}`);
|
||||
break;
|
||||
@@ -325,7 +332,7 @@ export class TencentRefreshCert extends AbstractTaskPlugin {
|
||||
*/
|
||||
const options = list.map((item: any) => {
|
||||
return {
|
||||
label: `${item.Alias}<${item.Domain}_${item.CertificateId}>`,
|
||||
label: `${item.CertificateId}<${item.Domain}_${item.Alias}_${item.BoundResource.length}>`,
|
||||
value: item.CertificateId,
|
||||
domain: item.SubjectAltName,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user