2016-10-19 20 views
1

Auth0を削除し、サーバー上の既存のREST APIにログインメソッドと登録メソッドを置き換えようとしています。現在のシステムは電子メールとパスワードを使用します。Auth0 APIを使用して電子メールとパスワードで確認/認証する方法

私はログインを実装しており、Auth0をバッキングストアとして使用してエンドポイントを登録しています。私は、Node.jsサーバー経由で管理APIを使用して、電子メールとパスワードを持つユーザーを作成しました。

var request = require("request"); 

var options = { method: 'POST', 
    url: 'https://test.auth0.com/api/v2/users', 
    headers: 
    { 
    'content-type': 'application/json', 
    authorization: 'Bearer SomeToken' }, 
    body: 
    { connection: 'Username-Password-Authentication', 
    email: '[email protected]', 
    password: 'test', 
    user_metadata: { enable_promotions: true }, 
    email_verified: false, 
    app_metadata: {} }, 
    json: true }; 

request(options, function (error, response, body) { 
    if (error) throw new Error(error); 
    console.log(body); 
}); 

今、同じユーザーを認証する方法を理解しようとしています。私は管理API上で認証メソッドを見つけることができませんでしたので、認証APIを使用して試しましたが、ユーザー名が必要であると言います - 私の場合、ユーザー名ではなく電子メールでユーザーを作成しました。

)パスワードとメールで認証するには、管理APIではなくAutentication APIを使用する必要がありますか?

b)メールをユーザー名として使用しますか?

答えて

5

はい、すべての認証に関連するエンドポイントは、Authentication APIのスコープで実装されています。 Management APIの代わりにこれを使用して、電子メールとパスワードを使用してユーザーを認証する必要があります。

デフォルトでは、Auth0のデータベース接続では電子メールがユーザー識別子として使用されるため、接続に既定の設定が使用されている場合は電子メールをユーザー名として使用する必要があります。電子メールに加えて伝統的なユーザー名も必要とするように構成することも可能で、そのような状況では認証中に電子メールを使用しなくなります。

ユーザー認証には、ユーザー名/パスワードの資格情報を収集し、Auth0で検証するカスタムユーザーインターフェイスが含まれている場合は、認証APIのresource owner endpointを使用できます。

関連する問題