src > app > api > auth > [...nextauth] > routs.ts경로에 아래와 같이 설정

providers에 원하는 providers 설정.



각각 공급자 애플리케이션 설정에서 CLIENT ID 혹은 앱키, SECRET 발급 받아 환경변수 설정해주기(env 설정 후에는 프로젝트를 재시작해야 적용됨)

구글 API 및 서비스로 이동 >. 사용자 인증정보 만들기> OAUTH 클라이언트 ID클릭

나중에 배포하면 배포주소 넣어주면 된다.현재는 개발중이므로 localhost사용.
그리고 리디렉션 URI을 넣어주어야함.


(https://developers.kakao.com/console/app)
애플리케이션을 생성해준다.
플랫폼 > Web에 도메인을 입력해준다.
Redirect URI을 동록해준다. 등록하러가기 버튼 클릭

Redirect URI 수정(http://localhost:3000/api/auth/callback/kakao)

앱으로 이동 > 앱 키> JS키 --> 이놈을 KAKAO_CLIENT_ID로 환경변수 적용해주면 됨.

카카오 로그인 ON, 활성화 상태 사용함으로 설정
SECRET은 카카오로그인 > 보안 > Client Secret의 코드 확인!

동의항목에서 사용할 항목들 필수 동의로 설정. 끝.

애플리케이션 생성
- 계정 등록 먼저 해준다.

CLIENT ID와 SECRET 확인하여 환경변수 설정해주면 끝

공식 문서에 나와있는 코드로 테스트.
로그인이 안된 경우에는 버튼 onClick 핸들러에 signIn(), 되어있는 경우 signOut()을 적용해준다.

로그인 페이지로 왔을때, session이 없으므로 Signin버튼이 나타난다.

클릭하면 소셜로그인 창이 나타난다.

클릭시 문제가 없는경우 계정 선택후 로그인이 실행된다.

리디렉션 URI 설정 잘못하면 요런 화면이 나타날 수 있음. 구글 설정할때와 마찬가지로 http/ https 프로토콜 뭘로 썼는지 잘 확인

마찬가지로 env에 NEXTAUTH_URL에과 애플리케이션 설정에 프로토콜이 일치하지 않는 경우!
