2016-10-25 31 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); 
     }); 
} 

これは、あなたがすでに追加の第1回のサインアップ・ロジックを実行しているユーザーのためのトラックを保つことができるように、ユーザーに関連する情報を格納するためにapp_metadataを使用して示してsignup sample ruleがあります。

は、あなたが実装するロジックを使用して、手順のこれらのセットを実行して、似たような達成できるユーザーとの対話を必要とするので、もしルールは、認証パイプラインのサーバ側で実行されることを念頭に置いておいてください。

  1. 何のフラグのセットは、ユーザーだけでサインアップを負いませんし、カスタム・ロジックがサインアップフラグを設定するには、ユーザーapp_metadataを更新行った後
  2. を、カスタム・ロジックを実行するがある場合、アプリケーションにログインすると、ユーザプロファイル
  3. を取得する(あなたはこれを行うことができますサーバー側のアプリケーションロジックでAuth0 Management API
+0

logins_countを確認することもできます。 0より大きい場合、ユーザーはすでにサインアップされています。私は知っている、質問は古いですが、それは誰かのために役立つかもしれません。 –

関連する問題