从Auth0锁定访问app_metadata

时间:2018-12-22 08:10:21

标签: javascript authentication auth0 auth0-lock

我正在尝试从Auth0访问app_metadata,并且正在使用Lock客户端。我找到了custom claims并创建了它们显示的规则,但是现在我不知道如何实际使用这些数据。这是处理我所有身份验证的函数:

setSession(authResult) {
    if (authResult && authResult.accessToken && authResult.idToken) {
        this.lock.getUserInfo(authResult.accessToken, function(err, profile) {
            if (err) {
                return;
            }

            localStorage.setItem("access_token", authResult.accessToken);
            localStorage.setItem("id_token", authResult.idToken);
            localStorage.setItem("expires_at", JSON.stringify((authResult.expiresIn * 1000) + new Date().getTime()));
            localStorage.setItem("profile", JSON.stringify(profile));

            history.replace("/home");
        });
    }
}

我希望在添加之后可以从配置文件中获取app_metadata,但是事实并非如此。我做错了什么还是忘记了什么?

编辑1:这是我目前的规则。

function (user, context, callback) {
   const namespace = "https://alexkrantz.com";
   context.accessToken[namespace + "user_metadata"] = user.user_metadata;
   context.accessToken[namespace + "app_metadata"] = user.app_metadata;
   callback(null, user, context);
}

0 个答案:

没有答案