카카오 로그인을 사용하고 있다면 반드시 체크해야할것
https://developers.kakao.com/docs/latest/ko/kakaologin/js
카카오로그인 javascript sdk에서
Kakao.Auth.login() 함수가 제거되었고
Kakao.Auth.authorize()를 사용해야합니다
레거시버전 v1 js sdk는 아래와 같은 메뉴얼을 제공하고 있습니다
login() 메서드를 통해 카카오 로그인을 팝업창을 통해 구현합니다
그런데 v2에서는 해당 메서드가 보안의 문제로 제거되었습니다
그리고 또하나의 문제가 있는데 login() 메서드는 팝업을 띄우는 방식이기 때문에
iOS에서 인스타그램, 페이스북 인앱브라우저상에서 웹사이트가 구동될때 카카오로그인을 정상적으로 사용할수 없습니다
여러분들은 authorize() 함수를 통해 인증을 구현하시면 됩니다
팝업창형태로 동작하지는 않지만 모든 환경에서 안전한 동작을 보장합니다
카카오 로그인을 구현할때 oauth flow에 의해 인가코드를 발급받을 redirect_uri를 지정해주어야 하는데요
그런데 카카오에서 제공하는 redirect_uri은 정적인 주소만 가능하기 때문에
동적으로 query string을 추가할수가 없습니다
그래서 동적으로 redirect_uri 정보를 만들고 싶을때 이걸 어떻게하지 하는 고민이 생기게 되는데요
https://devtalk.kakao.com/t/redirect-url/1753
꼼수로 state값을 이용하는 방법으로 다들 구현을 하고 계시는것 같습니다
실제 state 변수는 보안을 위해 값을 검증하는 용도의 optional한 파라메터인데
이 값에 인코딩한 url정보를 담아서 보내는 그런 꼼수를 사용할수있겠더라구요
공식문서에서도 login() 함수가 제거되고 authorize()가 남아있습니다
https://developers.kakao.com/sdk/reference/js/release/Kakao.html
카카오 로그인 구현할때 참고하세요