尝试使用Auth0对用户进行身份验证时出现CORS错误

时间:2020-09-07 10:51:16

标签: cors next.js auth0

编辑

Reproducible repo here

我知道这些信誉永远都不会出现在互联网上,但是我在这里感到绝望+无论如何我将删除客户端/租户。


我已经设置了一条路线:

router.get('/login', cors, async (req, res) => {
    try {
        console.log('Entered')
        await auth0.handleLogin(req, res)
    } catch (err) {
        return res.status(500).end()
})

Entered行被打印,但是我不断发现错误,

Access to XMLHttpRequest at 'https://dev-..' (redirected from 'http://localhost:3000/login')
 from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我已经把头发拉了好几天了。

我不确定为什么会显示错误No 'Access-Control-Allow-Origin' header is present on the requested resource,因为我已经将cors程序包添加到了自定义Express服务器中。

我在这里做错了什么?我遵循了使用passport-auth0的{​​{3}},并且也遵循了这些this tutorial(这是上面存储库中使用的包)–两种方法都显示相同的错误。 / p>

在Auth0信息中心中,我按如下方式设置了允许的来源(即,我遵循docsthis

我不知道从这里去哪里。如果我从控制台错误中手动粘贴URL,https://dev-..会将其带到身份验证页面,然后成功将我重定向到localhost:3000/

img1是我的初始Auth0设置。

我在网上看到了类似的问题,例如Here,但是创建新客户并没有帮助我,其他答案也没有。我已经在Auth0社区论坛上浏览了几乎所有相关问题。

我还克隆并运行了示例this one,并使用了其页面API。我开始认为,我不能将此nextjs-auth0软件包与自定义服务器一起使用。

1 个答案:

答案 0 :(得分:1)

您不是使用浏览器重定向,而是发送异步请求,这就是Auth0无法为您工作并导致CORS错误的原因。

使用以下代码更新您的首页视图,它将解决您的问题:

ADFS

P.S:我尝试通过分叉您的存储库来进行此更改,并且它按预期运行,请告诉我您是否仍然看到该问题。