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

How can i mock auth0 authentication for testing?

我正在使用 autho0 and express-jwt 来验证我的应用程序用户。

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

我正在使用 req.user.sub(如果用户被识别,则由 jwt 提供)来设置在我的 API.

中传递的内容的作者

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

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

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