728x90
반응형
- 개요
이전에 커스텀 스코프를 생성하여 API Gateway 호출 시 유효한 토큰이 없다면 Lambda 함수 호출이 차단되었다
이번 단계에서는 PreToken Lambda 트리거를 도입하여,
토큰 발급 시 사용자별로 필요한 커스텀 스코프를 동적으로 부여하는 기능을 추가한다
최종적으로 사용자는 권한(스코프)이 있는 AccessToken을 부여받게 된다
- 절차
1) 람다 트리거에 적용할 람다 생성 + 정의

위와 같이 이름을 정의한 람다 함수를 생성한다
export const handler = async (event) => {
console.log(JSON.stringify(event), null, 2);
if (event.triggerSource === 'TokenGeneration_Authentication') {
event.response = {
"claimsAndScopeOverrideDetails": {
"idTokenGeneration": {},
"accessTokenGeneration": {
"claimsToAddOrOverride": {},
"scopesToAdd": [
"dedicated_servers_scope"
]
}
}
};
}
console.log('After adding the custom scope:', JSON.stringify(event, null, 2));
return event;
};
생성한 람다 함수를 위와 같이 정의한다
- Cognito가 람다 함수를 호출하면서 넘겨준 데이터를 CloudWatch 로그에 들여쓰기 형태로 기록
- 호출한 람다 함수가 "사용자 인증 후 토큰이 생성되는 시점"에 호출되었는지 확인
- 맞다면 AccessToken을 수정하여 커스텀 스코프를 추가
- 커스텀 스코프가 추가되었는지 확인하기 위해 CloudWatch 로그에 들여쓰기 형태로 기록
2) 람다 트리거 설정

AWS 콘솔의 사용자 풀에 접속하여 사이드 바의 인증 - 확장 기능에서 Lambda 트리거 추가를 선택한다

위와 같이 람다 트리거를 설정한다
유효한 AccessToken에 대해서 권한을 부여하는 것이 목적이므로
트리거 유형은 인증으로, 인증은 사전 토큰 생성 트리거로 설정한다
마지막으로 이벤트 버전 트리거는 2번째 옵션을 선택하여 AccessToken에 사용자의 아이디와 권한 정보를 주입한다

람다 트리거에서 사용할 함수는 (1)에서 정의한 CognitoPreTokenGeneration 람다 함수를 사용한다
- 최종 실행 결과

에디터를 실행하여 로그인한 후에
CloudWatch 탭에서 CognitoPreTokenGeneration 람다 함수의 로그를 위와 같이 확인할 수 있다
728x90
반응형
'언리얼 엔진 - 게임 프로젝트 > AWS GameLift를 활용한 데디케이트 FPS 프로젝트' 카테고리의 다른 글
| 로비와 타이머 - 1) 로비와 타이머 구성 (0) | 2026.06.26 |
|---|---|
| Access Tokens - 최종) 인증 헤더 추가 (0) | 2026.06.25 |
| Access Tokens - 11) 리소스 서버 설정 (0) | 2026.06.21 |
| Access Tokens - 10) GetUser API의 사용 (0) | 2026.06.21 |
| Access Tokens - 9) 확장된 드롭다운 메뉴 UI 기능 추가 (0) | 2026.06.20 |