2016-04-01 24 views
1

は、私は電子メールを通じ見ることができます:auth0とnode.jsを使ってサーバーでuser.emailを取得する方法は?私のフロントエンドで

console.log(auth.profile.email) 

は、その後、私はあなたが戻って何かを得るにはログインする必要がありますので、保護されます、バックエンドからいくつかの情報を取得するために、このサービスを呼び出す:

バックエンドで
var metadata_req = { 
     method: "GET", 
     url: "http://localhost:80/protected/all/metadata" 
    } 

、私は、ユーザーが要求を実行する前にログインしていることを確認するためのNode.jsを使って、これだ:

var jwtCheck = express-jwt({ 
    secret: new Buffer(config.secret, 'base64'), 
    audience: config.client_id 
}); 

しかし、私PR場合int req.user、私はiss、sub、aud、expとiatしか見ることができません。私は電子メールも見たいと思います。

+0

どのように電子メールをリクエストに渡しますか? – maddygoround

+0

私はmetadata_reqに{email:auth.profile.email}というデータを使ってみましたが、うまくいかなかった。 – user1883614

+0

GETリクエストのためにmessageBodyにデータを渡すことはできません – maddygoround

答えて

2

からEMAIL_ID取得あなたのユーザーは最初にログインします。

たとえば、角度でロックを使用すると、次のようになります。

auth.signin({ 
    authParams: { 
     scope: 'openid email' 
    } 
    }, function(profile, token) { 
    // stuff 
    }, function(err) { 
    // error handling 
    }); 
0
"all/metadata"からNodeJSで "all/metadata/:emailId"

あなたのAPIを呼び出す

var metadata_req = { 
     method: "GET", 
     url: "http://localhost:80/protected/all/metadata/{your_email_id}" 
    } 

にあなたのAPIの定義を変更し

あなたはときに電子メールの許可を含むことによってreq.userにプロファイル情報を取得することができますreq.params.emailId

関連する問題