나는 글을 쓰고있다Gmail bash 스크립트OAuth2를 사용하여 자체적으로 인증하고 수신된 토큰을 사용하여 API 호출을 수행합니다. 효율적인.
그런데 지금 생각해보니클라이언트 ID와 클라이언트 비밀번호를 안전하게 저장하는 방법내 스크립트에서는 스크립트가 모든 사람에게 공개됩니다.GitHub에서. 그의 모습을 공개한 이후클라이언트 키 및 클라이언트 ID다른 사람들이 자신의 앱을 쉽게 위장할 수 있으므로 이는 좋은 생각이 아닙니다. 이 문제를 어떻게 처리해야 합니까?
간단히 말해서 문제는 다음과 같습니다.
- 내 프로그램에 긴급히 필요한 사항이 있습니다.고객 ID그리고클라이언트 비밀일하다.
- 내 프로그램은 오픈 소스이므로 코드에 직접 포함할 수 없습니다.
- 내 프로그램을 다운로드하는 모든 사람이 내 세트를 사용할 수 있기를 바랍니다.고객 ID그리고클라이언트 비밀, 그들은 실제로 무엇을 알지 못합니다고객 ID그리고클라이언트 비밀예!
기본적으로 GitHub를 통하거나 우회하여 내 터미널에서 사용자의 PC로 일부 비밀 데이터를 전송하여 프로그램(내 스크립트)만 읽을 수 있도록 하는 방법을 찾아야 합니다.사용자가 아님!
이것이 불가능해 보인다는 것을 알고 있지만 이것이 가능한지 확인하기 위해 이 질문을 게시했습니다. 가능하다면 방법을 알고 싶습니다.
답변1
아니요. 프로그래밍 언어에 관계없이 모든 요청에 비밀을 추가하려면 클라우드/서버 구성 요소/프록시가 필요합니다.
물론 사람들은 로컬 복사본을 숨기려고 노력하지만 결코 성공하지 못합니다.
에이전트 예:
client> curl my.server.com/list/1
server> curl api.mail.google.com/list/1?key=123
따라서 프록시는 모든 매개변수/헤더/데이터를 전달하고 요청에 ID와 비밀번호를 추가합니다. 이로 인해 서버에서 많은 대역폭 사용량이 발생할 수 있으므로 사용량이 많은 사용자를 위해 프록시를 제공하지 않고도 자신의 보안 비밀을 사용할 수 있는 옵션을 추가하는 것을 고려해야 합니다.