无法使用json-server

时间:2019-11-28 09:30:26

标签: angular proxy protractor auth0 json-server

enter image description here

我们正在使用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服务器同时运行

enter image description here

0 个答案:

没有答案