我如何模拟auth0身份验证进行测试?

时间:2016-12-20 00:57:01

标签: node.js auth0 express-jwt

我正在使用autho0express-jwt来验证我的应用用户。

除了测试之外,一切都很酷。 我在API中传递的内容严格按作者分区。这意味着只有拥有内容才能访问内容。

我正在使用req.user.sub(如果用户被识别,则由jwt提供)来设置我的API中传递的内容的作者。

我应该使用req.user.name来提供作者吗?如果是这样,我如何模拟身份验证才能编写测试。

1 个答案:

答案 0 :(得分:1)

我实施了一个简单的解决方案,有点简陋:

public static testAuthorName = 'test-author';
private static getAuthor(req) {
    if (process.env.NODE_ENV === 'test') {
        return MyApiClass.testAuthorName;
    }
    return req.user.sub.split('|')[1];
}

这样我可以在我的测试中静态使用MyApiClass.testAuthorName