1

AWS의 람다 (Lambda) 기능에 Serverless Framework를 사용하고 있습니다. 인증 헤더를 보내려면 어떻게해야합니까? 나의 현재 설정 :AWS에서 서버리스 프레임웍을 사용하여 응답 헤더 보내기

람다 함수 :

module.exports.createUser = (event, context, callback) => { 

    let response = { 
      statusCode: 302, 
      headers: { 
       "Authorization": userUtil.getToken(userId) 
      }, 
      body: "" 
     }; 
    callback(null, response); 
    return; 
} 

serverless.yml는 :

createUser: 
    handler: functions/user.createUser 
    events: 
     - http: 
      path: users 
      method: post 
      cors: true 
      integration: lambda 

상기 구성을 일체로 응답 객체를 전송한다. 상태는 아직도 당신이 대신 구성을 추가하는 코드에서 상태 코드, 헤더와 본문을 설정하려는 경우 나 서버를 사용 v1.10에

답변

0

을 사용하고 200

, 당신은 사용할 필요가 람다 프록시 설정 here을 더 참조하십시오.

기본 유형은 Lambda-proxy입니다. 따라서 serverless.yml에서 integration: lambda을 삭제해야합니다. 또한 cors: true 설정을 제거하고 handler.js을 수정하여 CORS 헤더를 추가하십시오.

createUser: 
    handler: functions/user.createUser 
    events: 
     - http: 
      path: users 
      method: post 
+0

감사 @Zanon :에 serverless.yml 파일을 수정

module.exports.createUser = (event, context, callback) => { let response = { statusCode: 302, headers: { "Authorization": userUtil.getToken(userId), "Access-Control-Allow-Origin" : "*", // Required for CORS support to work "Access-Control-Allow-Credentials" : true // Required for cookies, authorization headers with HTTPS }, body: "" }; callback(null, response); return; } 

:

는에 람다 기능을 수정합니다. 신기한 실수! 나는 Lambda-proxy에 대해 읽었어야했다. – rish08

관련 문제