중요
타사 서비스 & 푸시 알림 사용 중단
App Services의 타사 서비스 및 푸시 알림은 함수에서 외부 종속성을 사용하는 HTTP 엔드포인트를 만들기 위해 더 이상 사용되지 않습니다.
웹훅은 동작에 대한 변경 없이 HTTPS 엔드포인트로 이름이 변경되었습니다. 기존 웹훅을 마이그레이션해야 합니다.
기존 서비스는,9월까지 30 계속2025 작동합니다.
타사 서비스 및 푸시 알림은 이제 더 이상 사용되지 않으므로 App Services UI에서 기본적으로 제거되었습니다. 기존 타사 서비스 또는 푸시 알림을 관리해야 하는 경우 다음을 수행하여 구성을 UI에 다시 추가할 수 있습니다.
왼쪽 탐색의 Manage 섹션에서 App Settings를 클릭합니다.
Temporarily Re-Enable 3rd Party Services 옆의 토글 스위치를 활성화한 다음 변경 사항을 저장합니다.
개요
수신 웹훅 은 서비스에 따라 요청의 유효성을 검사하고 Atlas App Services가 외부 서비스로 다시 전송하는 응답을 사용자 지정하는 여러 가지 방법을 제공합니다.
유효성 검사 메서드 요청
웹훅 요청이 신뢰할 수 있는 출처에서 오는지 확인하기 위해 일부 외부 서비스에서는 들어오는 요청에 몇 가지 규정된 방식 중 하나로 비밀 문자열을 통합하도록 요구합니다. HTTP 서비스 와 같은 다른 서비스에서는 선택적으로 요청 유효성 검사를 요구할 수 있습니다.
웹훅용 Request Validation 에는 페이로드 서명 확인 과 쿼리 매개변수로서의 비밀, 이렇게 두 가지 유형이 있습니다.
요청 시 HTTP/1.1 이상이 필요합니다.
참고
보안을 극대화하려면 Python 시크릿 모듈과 같은 보안 패키지 사용하여 secret
문자열을 프로그래밍 방식으로 생성합니다. 시크릿을 게시하거나 버전 제어 시스템에 포함하지 않도록 합니다.
페이로드 서명 확인
Verify Payload Signature 요청 유효성 검사 옵션을 사용하려면 수신 요청에 요청 본문에서 생성된 16진수 인코딩된 LMAC SHA-256 해시와 X-Hook-Signature
헤더의 secret
문자열이 포함되어야 합니다.
예시
다음 웹훅 요청 본문과 비밀을 고려하세요.
const body = { "message":"MESSAGE" } const secret = 12345
다음 Realm 함수 은 이 body
및 secret
에 대한 해시를 생성합니다.
// Generate an HMAC request signature exports = function(secret, body) { // secret = the secret validation string // body = the webhook request body return utils.crypto.hmac(EJSON.stringify(body), secret, "sha256", "hex"); } // Returns: "828ee180512eaf8a6229eda7eea72323f68e9c0f0093b11a578b0544c5777862"
모든 요청에서 해시 값을 X-Hook-Signature
HTTP 요청 헤더에 할당해야 합니다.
X-Hook-Signature:sha256=<hex-encoded-hash>
요청이 제대로 서명되었는지 테스트하기 위해 다음 curl
명령을 실행할 수 있습니다.
curl -X POST \ -H "Content-Type: application/json" \ -H "X-Hook-Signature:sha256=828ee180512eaf8a6229eda7eea72323f68e9c0f0093b11a578b0544c5777862" \ -d '{"message":"MESSAGE"}' \ <webhook URL>
쿼리 매개변수로서의 비밀
Require Secret as Query Param 요청 유효성 검사 옵션을 사용하려면 수신 요청에 URL 끝에 추가된 쿼리 매개변수 로 지정된 secret
문자열이 포함되어야 합니다.
예시
12345
의 secret 값을 사용하도록 구성된 웹훅을 가정해 보겠습니다. 모든 요청은 시크릿을 쿼리 매개변수로 추가한 웹훅 URL로 이루어져야 합니다.
<webhook URL>?secret=12345
이 URL에 대한 요청이 제대로 확인되는지 테스트하기 위해 다음 curl
명령을 실행할 수 있습니다.
curl -H "Content-Type: application/json" \ -d '{ "message": "HELLO" }' \ -X POST '<webhook URL>?secret=12345'
웹훅 응답 객체
App Services는 웹훅의 HTTP 응답을 나타내는 response
객체를 웹훅 함수의 두 번째 인수로 자동 전달합니다. 다음 표에는 response
객체를 수정하는 데 사용할 수 있는 메서드가 나열되어 있습니다.
메서드 | arguments | 설명 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
| HTTP 응답 상태 코드를 설정합니다. 예시
| |||||||||
|
| HTTP 응답 본문을 설정합니다.
예시
| |||||||||
| name stringvalue string |
예시
| |||||||||
| name stringvalue string |
예시
|