와 같습니다. 제 질문은: 고객을 보는 사용자에게는 숨기면서 JavaScript로 내 사용자 ID를 제공할 수 있는 방법이 있습니까?">
지금 저는 USPS 가격 계산기 API에 요청하는 클라이언트측 JavaScript 애플리케이션을 작성하고 있습니다. 이 요청을 하려면 요청된 XML에 내 API 사용자 ID를 제공해야 합니다. 태그는 다음과 같습니다:
. 내 질문은: 클라이언트 파일을 보는 사용자에게 숨기면서 JavaScript로 내 사용자 ID를 제공하는 방법이 있습니까? 현재 내 유일한 해결책은 사용자 ID가 포함된 PHP 파일을 서버에 만든 다음 클라이언트 JavaScript에서 AJAX 요청을 사용하여 이를 전역 변수에 저장하는 것입니다. 코드는 다음과 같습니다.
var userID; $.get("/secrets.php", 함수( 데이터 ) { 사용자ID = 데이터; });
이 접근 방식은 내 애플리케이션 사용자가 내 API 사용자 ID를 볼 수 없도록 하는 데 충분합니까? 다른 방법이 있나요?
2020년에 이 페이지를 읽고 있고 어떤 이유로든(호스팅 비용 절감 등) 서버 측 코드를 개발하고 싶지 않다면 서버리스 기능이 솔루션이 될 수 있습니다.
이는 서버 측에서 타사 API도 호출하지만 전체 서버 측 API 프록시를 개발할 필요는 없습니다.
Netlify에는 관련 문서가 있습니다. AWS Lambda, Google Cloud Function과 같은 다른 제공업체도 비슷한 기능을 제공하는 것 같지만 확실하지는 않습니다.
https://github.com/netlify/code-examples/tree/master/function_examples/token-hider
장점서버를 관리할 필요가 없습니다
단점공급업체 잠금
간단히 말하면, 아니요, 클라이언트 애플리케이션에서는 API 키를 보호할 수 없습니다.
이 문서에서는 몇 가지 세부 사항을 자세히 설명합니다
두 가지 옵션: