2016-10-25 2 views
3

인증 성공 후 'authenticated' 이벤트가 발생합니다.Auth0 잠금의 사용자 가입 이벤트

lock.on('authenticated', function(authResult) { }); 

그러나 감지 할 수있는 방법이있을 때 응용 프로그램까지 새로운 사용자가 로그인 또는 내 데이터베이스에 사용자를 저장하고 사용자가 인증 할 때마다 확인해야합니까?

답변

5

Auth0 잠금은 사용자 가입을위한 특정 이벤트를 트리거하지 않습니다.

그러나 custom rule에서이를 감지하고이 메타 데이터로 사용자 프로필을 강화할 수 있습니다. 당신은 당신이 이미 추가 처음 가입 로직을 실행하는 사용자를 추적 할 수 있도록

function (user, context, callback) { 
    user.app_metadata = user.app_metadata || {}; 

    // short-circuit if the user signed up already 
    if (user.app_metadata.signed_up) return callback(null, user, context); 

    // execute first time login/signup logic here 
    // ... 

    // update application metadata so that signup logic is skipped on subsequent logins 
    user.app_metadata.signed_up = true; 
    auth0.users.updateAppMetadata(user.user_id, user.app_metadata) 
     .then(function() { 
      callback(null, user, context); 
     }) 
     .catch(function (err) { 
      callback(err); 
     }); 
} 

이 사용자에게 관련 정보를 저장하는 데 app_metadata를 사용하여 이러한 가능성을 설명하는 signup sample rule이있다.

규칙은 인증 파이프 라인의 서버 측에서 실행 것이라는 점을 염두에두고, 그래서 당신이 구현하려는 논리가 사용자 상호 작용을 필요로하는 경우 당신은 이러한 일련의 수행하여 비슷한 일을 달성 할 수 :

  1. 을 더 플래그가 설정된 사용자 만 가입을지지 않습니다 및 사용자 정의 로직이 가입 플래그를 설정하는 것은 사용자 app_metadata를 업데이트하기 후에
  2. 을 사용자 정의 논리를 할 수 있다면 응용 프로그램에 로그인하면 사용자 프로필
  3. 를 얻을 수 (당신은이 작업을 수행 할 수 있습니다 서버 측 응용 프로그램 논리에서통해 0)
+0

logins_count 확인도 옵션입니다. 0보다 큰 경우 사용자는 이미 가입되어 있습니다. 나도 알아, 문제는 오래되었지만 누군가에게 도움이 될지도 모른다. –

관련 문제