fix: [esign] 알림톡 버튼 URL 도메인을 APP_URL로 치환 (개발/운영 환경 대응)

This commit is contained in:
김보곤
2026-02-26 08:30:57 +09:00
parent 0689c5418b
commit 169d649ee6

View File

@@ -1067,14 +1067,24 @@ private function sendAlimtalk(
'Url1' => $signUrl, 'Url2' => $signUrl],
];
$appUrl = rtrim(config('app.url'), '/');
foreach ($buttons as &$btn) {
foreach (['Url1', 'Url2'] as $urlKey) {
if (! empty($btn[$urlKey])) {
$btn[$urlKey] = str_replace(
['#{토큰}', '#{%ED%86%A0%ED%81%B0}', urlencode('#{토큰}')],
[$signer->access_token, $signer->access_token, $signer->access_token],
urldecode($btn[$urlKey])
$url = urldecode($btn[$urlKey]);
// #{토큰} 변수를 실제 access_token으로 치환
$url = str_replace(
['#{토큰}', '#{%ED%86%A0%ED%81%B0}'],
[$signer->access_token, $signer->access_token],
$url
);
// 도메인을 현재 서버의 APP_URL로 치환 (개발/운영 환경 대응)
$url = preg_replace('#^https?://[^/]+#', $appUrl, $url);
$btn[$urlKey] = $url;
}
}
}