我如何模拟 auth0 身份验证以进行测试?
Posted
技术标签:
【中文标题】我如何模拟 auth0 身份验证以进行测试?【英文标题】:How can i mock auth0 authentication for testing? 【发布时间】:2017-05-05 03:21:58 【问题描述】:我正在使用autho0 和express-jwt 来验证我的应用用户。
除了测试之外,一切都很酷。 我在 API 中传递的内容由作者严格划分。这意味着您只有拥有该内容才能访问它。
我正在使用req.user.sub
(如果用户被识别,则由 jwt 提供)来设置在我的 API 中传递的内容的作者。
我应该使用 req.user.name 来提供作者吗?如果是这样,我如何模拟身份验证以编写我的测试。
【问题讨论】:
【参考方案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
statically。
【讨论】:
以上是关于我如何模拟 auth0 身份验证以进行测试?的主要内容,如果未能解决你的问题,请参考以下文章
带有 auth0-lock 的 Auth0 仅在使用调试器时进行身份验证,以缓慢单步执行代码
如何在使用 auth0 进行身份验证的反应应用程序中获取用户信息
auth0 401 错误,在尝试身份验证代码交换时进行身份验证
在依赖 Auth0 进行 Facebook 身份验证的应用程序中选择用户 ID?