본문으로 건너뛰기

이벤트

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

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

참고

인증 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: 어댑터의 세션 객체