본문으로 건너뛰기

이벤트

이벤트는 비동기 함수로, 응답을 반환하지 않습니다. 감사 로그/보고서 또는 기타 부수적인 작업을 처리하는 데 유용합니다.

다음 이벤트에 대한 핸들러를 지정할 수 있으며, 이는 디버깅 또는 감사 로그에 사용됩니다.

참고

인증 API의 실행은 이벤트 핸들러에서 await에 의해 차단됩니다. 이벤트 핸들러가 무거운 작업을 시작하는 경우 해당 작업에 대해 자신의 프로미스를 차단하지 않아야 합니다.

이벤트

signIn

성공적인 로그인 시 전송됩니다.

메시지는 객체이며 다음을 포함합니다:

  • user: 어댑터 또는 제공자로부터 가져온 사용자 정보 (credentials 유형 제공자의 경우 제공자에서 가져옴)
  • account: 어댑터 또는 제공자로부터 가져온 계정 정보
  • profile: 제공자로부터 가져온 프로필 정보 (credentials 제공자의 경우 undefined, 대신 user 사용)
  • isNewUser: 어댑터에 이 계정의 사용자가 이미 존재하는지 여부

signOut

사용자가 로그아웃할 때 전송됩니다.

메시지 객체는 JWT 또는 데이터베이스에 저장된 세션에 따라 다음 중 하나를 포함합니다:

  • token: 이 세션에 대한 JWT 토큰
  • session: 종료 중인 어댑터의 세션 객체

createUser

어댑터가 새 사용자를 생성하도록 지시받았을 때 전송됩니다.

메시지 객체는 사용자를 포함합니다.

updateUser

어댑터가 기존 사용자를 업데이트하도록 지시받았을 때 전송됩니다. 현재는 사용자가 이메일 주소를 확인할 때만 전송됩니다.

메시지 객체는 사용자를 포함합니다.

linkAccount

주어진 제공자의 계정이 사용자 데이터베이스에 있는 사용자와 연결되었을 때 전송됩니다. 예를 들어, 사용자가 Twitter로 가입하거나 기존 사용자가 Google 계정을 연결할 때 발생합니다.

메시지 객체는 다음을 포함합니다:

  • user: 어댑터에서 가져온 사용자 객체
  • account: 제공자로부터 반환된 객체
  • profile: OAuth 제공자의 profile 콜백에서 반환된 객체

session

현재 세션에 대한 요청이 완료되면 전송됩니다.

메시지 객체는 JWT 또는 데이터베이스에 저장된 세션에 따라 다음 중 하나를 포함합니다:

  • token: 이 세션에 대한 JWT 토큰
  • session: 어댑터의 세션 객체