我们正在使用Auth0作为我们的角度SPA的身份验证服务提供者,并且正在使用Auth0中的auth0-spa-js库。
我们正在尝试使用量角器设置前端e2e(功能)测试,并且我们希望模拟对Auth0的身份验证调用。
所以我们现在有3个域:
localhost:4200
作为我们的应用程序域,localhost:3010
代表我们的代理服务器和auth0域
由于Angular尚不支持模拟模块,因此模拟身份验证的唯一方法是代理对auth0域进行的身份验证API调用并将它们重定向到我们的模拟服务器。
我们正尝试将使用auth0-spa-js对Auth0的https://myAuth0Domain/authorize
调用重定向到代理服务器,以通过代理配置定义配置来获取模拟响应。
我们已经使用JsonServer库设置了模拟服务器。
我们已在localhost:3010
上配置了json-server,
我们有如下设置的代理配置。
直接使用Postman导航到localhost:3010/path/to/response
时,即使在发球期间,我们也可以看到模拟的响应。
因此,似乎代理服务器正在正确侦听。 但是,在运行e2e测试时,不会代理该API调用。
我们如何模拟对auth0域进行的API调用到我们的代理服务器,以获取响应以使用户通过身份验证并重定向回我们的应用程序?
我们的Mock.json
{
"path/to/response": [
{
"status": "302",
"location": "http://localhost:4200/callback",
"access_token": "Mock_Access_Token",
"expires_in": 8600,
"id_token": "Some_id_Token",
"scope": "openid profile email",
"token_type:": "Bearer",
"Access-Control-Allow-Origin": "*"
}
]
}
我们的proxy.config.js
var proxyConfig = [
{
context: "https://myAuth0Domain.com/authorize",
target: "http://localhost:3010/path/to/response",
secure: false,
changeOrigin: true,
logLevel: "debug",
}
]
我们同时使用e2e-test和json服务器同时运行