성공을 위한 스킬
Ask the Community
Page Designer와 PWA Kit 통합
보호된 리소스 액세스
React.js에 환경 변수 사용
암호 재설정 구현
암호 없는 로그인 구현
소셜 로그인 구현
쿠키를 사용한 개인화
구매자 컨텍스트를 사용한 개인화
매장 찾기로 매장 매출 증대를 참조하십시오.
Tracking Consent Banner(추적 동의 배너)로 개인정보보호를 참조하십시오.
캐시 적중률 극대화
사이트맵으로 SEO 개선
Managed Runtime 환경 변수를 사용하면 코드를 변경하지 않고도 환경에서 실행 중인 애플리케이션 프로세스에 변수를 추가할 수 있습니다. 환경 변수는 안전하게 저장되므로 다음과 같은 활용 사례에 적합합니다.
자세한 내용은 환경 변수를 참조하십시오.
환경 변수를 사용하여 안전한 외부 리소스에 액세스하는 데 사용되는 API 키를 저장해 보겠습니다. 이 튜토리얼의 리소스는 가상의 타사 콘텐츠 관리 시스템(CMS)입니다. CMS에 요청하고 보호된 데이터로 응답하는 처리기를 Express.js 서버의 ssr.js에 추가합니다. 그런 다음 이 처리기를 호출하여 데이터에 액세스합니다.
보안상의 이유로, 이 API 키는 클라이언트 측 코드가 아닌 서버 측 코드에서 CMS를 호출합니다.
이 튜토리얼을 완료하려면 먼저 다음을 수행합니다.
이 튜토리얼의 명령을 실행하기 전에 Placeholder를 실제 값으로 바꿉니다. 자리 표시자는 $PLACEHOLDER와 같은 형식입니다.
현재 세션에서 환경 변수를 설정하려면 터미널을 열고 다음 명령을 실행합니다.
set CMS_API_KEY='my-cms-api-key'export CMS_API_KEY='my-cms-api-key'다음을 실행하여 환경 변수가 올바르게 설정되었는지 확인합니다.
echo %CMS_API_KEY%echo $CMS_API_KEY이 명령은 my-cms-api-key를 출력으로 반환합니다.
ssr.js에서 CMS를 호출하기 위해 이 JavaScript 코드를 추가합니다.
1async function fetchCMSData() {
2 const key = process.env.CMS_API_KEY;
3 if (!key) {
4 throw new Error("Environment variable CMS_API_KEY isn't set.");
5 }
6
7 return await fetch("https://api.example.com/", {
8 headers: {
9 Authorization: "Bearer " + key,
10 },
11 }).json();
12}
13
14async function handlerCMS(req, res) {
15 try {
16 const data = await fetchCMSData();
17 return res.json(data);
18 } catch (err) {
19 return res.status(500).json({ error: err.message });
20 }
21}npm start를 사용하여 개발 서버를 시작합니다. 마지막으로, 로컬에서 처리기로 이동하여 CMS 데이터가 반환되는지 확인합니다.변경 사항을 프로덕션 환경에 배포하기 전에 비프로덕션 환경에서 이러한 단계를 테스트하는 것이 좋습니다.
이 튜토리얼의 명령을 실행하기 전에 Placeholder를 실제 값으로 바꿉니다. 자리 표시자는 $PLACEHOLDER와 같은 형식입니다.
1curl "https://cloud.mobify.com/api/projects/$PROJECT_ID/target/$ENVIRONMENT_ID/env-var/" \
2 --request 'PATCH' \
3 --header 'Content-Type: application/json' \
4 --header 'Accept: application/json' \
5 --header "Authorization: Bearer $MOBIFY_API_KEY" \
6 --data '{"CMS_API_KEY": {"value": "'$YOUR_API_KEY_VALUE'"}}'