更新若干功能
This commit is contained in:
@@ -111,8 +111,8 @@ class OssRuntimeConfigService extends BaseService
|
||||
'id' => (int) $row->id,
|
||||
'driver' => (string) $row->driver,
|
||||
'name' => (string) $row->name,
|
||||
'access_key' => $enc->decryptFromStorage((string) ($row->access_key ?? ''), true),
|
||||
'secret_key' => $enc->decryptFromStorage((string) ($row->secret_key ?? ''), true),
|
||||
'access_key' => $this->decryptSecret($enc, (string) ($row->access_key ?? ''), 'AccessKey'),
|
||||
'secret_key' => $this->decryptSecret($enc, (string) ($row->secret_key ?? ''), 'SecretKey'),
|
||||
'endpoint' => (string) ($row->endpoint ?? ''),
|
||||
'region' => (string) ($row->region ?? ''),
|
||||
'bucket' => (string) ($row->bucket ?? ''),
|
||||
@@ -121,4 +121,21 @@ class OssRuntimeConfigService extends BaseService
|
||||
'extra_json' => $extra,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 解密库内密钥;密文在但解不开时必须说清楚,不能静默变空串
|
||||
*
|
||||
* 以前 silentFail=true,解密失败后驱动只看到空 AccessKey,
|
||||
* 素材拉取就会报「七牛云配置不完整」,运营以为没填,其实是 ENCRYPT_KEY 对不上。
|
||||
*/
|
||||
private function decryptSecret(FieldEncryptService $enc, string $raw, string $label): string
|
||||
{
|
||||
$plain = $enc->decryptFromStorage($raw, true);
|
||||
if ($raw !== '' && $plain === '' && $enc->isEncrypted($raw)) {
|
||||
$this->utils->errorThrow(
|
||||
'存储配置的' . $label . '解密失败,请到「系统配置 → 存储」重新填写密钥后保存'
|
||||
);
|
||||
}
|
||||
return $plain;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user