본문 바로가기

소프트웨어

AWS cognito 자격증명 연동 삽질

먼저 코그니토의 사용자 풀과 연동자격증명은 독립된 것이다.

사용자풀은 가입/로그인 할 수 있는 하나의 풀을 말하는 것이고 연동자격증명은 각종 로그인 서비스 예를들면 페이스북이나 구글 등을 활용하여 자격증명을 할 수 있는 서비스로 여기에 사용자 풀이 포함되어있다.

정리해서 말하면 사용자 풀은 페이스북과 같은 로그인 디비를 하나 만드는거고 연동자격증명은 그것을 활용해서 AWS 기능들을 활용할 수 있도록 자격증명을 해주는 것이다.

여러 삽질 끝에 사용자풀을 이용해서 연동자격증명의 엑세스키를 얻었는데, 최종 골을 확인하려면 콘솔로 AWS.config.credentials.accessKeyId를 찍어보면 되고, 만약 undefined이면 다시 삽질을 하면 된다.

먼저 AWS.config.region을 설정해줘야하고

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: <IdentityPoolId>,
Logins: {
'cognito-idp.<region>.amazonaws.com/<user-pool-id>': <token>//session.getIdToken().getJwtToken()
}
});

로그인이랑 자격증명 얻어오는 것이랑 별개다. 로그인을 먼저해서 토큰을 얻어오고 그 토큰을 Logins안에 url을 완성시키고 집어넣으면 된다. 여기서 끝이 아니다. 지금까지는 자격증명을 얻을 세팅을 한 것이고 받아오는 함수는 따로 있다.

AWS.config.credentials.get()

을 해주고 AWS.config.credentials.accessKeyId 를 찍어보자.