Firebase와 Kakao를 OpenID Connect를 활용하여 연결하려한다.
사용 목적 중 하나는 보안이며, 사용자의 정보가 데이터베이스에 최대한 저장되지 않도록 하는것이 목표이다.
Firebase 프로젝트에서 OpenID Connect를 사용하기 위해 새로운 spark 프로젝트로 업그레이드 하면 다음과 같은 정보를 작성해야한다.
Google Cloud Docs를 활용해 작성하기 용이하다.
1) 부여 유형 : 코드흐름/암시적흐름(id_token) select
2) 이름
→ kakao
2-1) 제공업체 ID
→ odic.${이름 작성 항목}
3) 클라이언트 ID
→ Kakao developers 내 애플리케이션의 REST API Key
4) 발급자(URL)
→ Kakao developers docs에서 OIDC: 메타데이터 확인하기 부분의 REST API 요청부분 확인
5) 클라이언트 보안 비밀번호(코드흐름 select)
→ Kakako developers 내 애플리케이션의 제품설정 항목 중 카카오로그인 내 보안탭에서 코드생성 및 활성화
→ 해당 Client Secret은 REST API를 사용할 때 추가적으로 client_secret
코드값을 추가 설정해야 한다.
6) 모든 값을 정상적으로 입력했는지 확인하고 저장
토큰 요청시 Parameter에 client_secret code가 추가된다.
사용자 인가 토큰 요청 시 Parameter에 nonce값이 추가된다.
nonce는 임의의 문자열을 지칭하며, Crypto를 활용해 base64로 암호화된 문자열을 생성하는 것이 좋다.
JavaScript에서는 npm의 crypto-js library
를 사용하거나 window 내장 crypto의 randomUUID
를 활용하면 좋다.