首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于Cors策略,Svelte前端无法向nestjs banckend提出请求。

由于Cors策略,Svelte前端无法向nestjs banckend提出请求。
EN

Stack Overflow用户
提问于 2022-11-10 18:29:57
回答 2查看 26关注 0票数 0

我正面临着苗条的问题。我正在尝试制作一个非常简单的前端服务器,用svelte来确定我的后端在nest中的流是否正常。

长话短说,后端调用oauth来处理授权,如果用户成功连接,则返回会话cookie。

对于失眠症患者,或者邮递员,即使使用firefox或chrome,当我直接调用后端时,oauth流也能很好地工作。

但是,当我想做这个简单的电话,从一个苗条的前端,困难开始出现。我想我不太明白如何用苗条来做这件事。

"login.svelte“的Svelte代码:

代码语言:javascript
运行
复制
    <script lang="ts">
    import axios from 'axios';
    import {push} from 'svelte-spa-router';

    $: submit = async() => {
        console.log("submit");
        const {data} = await axios.get('http://transcendance:8080/api/v2/auth',
        {
            withCredentials: true,
        }
        );
        if (data.status === "ok") {
            push('/');
        }
    }

</script>

<body>
    <main class="form-signin w-100 m-auto">
        <button on:click={submit} class="w-100 btn btn-lg btn-primary" type="submit">
                Connexion
        </button>
    </main>
</body>

nestjs和svelte服务器被篡改。为了使事情更简单,我使用nginx作为反向代理--也是被篡改的--来处理请求并将它们发送到前端或后端服务器。

主要问题是没有对oauth连接的页面执行重定向,并且由于cors策略,请求被阻塞。但是由于nginx,每个调用都来自同一个域,即使我更改了nestjs中的cors策略,也没有什么工作。

我认为"42 api“的oauth并不真正理解Xhr请求,但是即使采用了另一种方式,比如fetch (实际上什么都不取)也不起作用。

我想我不知道怎么用苗条来做这样的事。如果有人能给我指点什么,给我一个主意,我会很感激的。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-12 15:31:29

代码语言:javascript
运行
复制
$: submit = () => {
        window.location.href = 'http://transcendance:8080/api/v2/auth';
    }

鼓掌,鼓掌。

票数 0
EN

Stack Overflow用户

发布于 2022-11-14 12:44:56

在windows搜索上输入run并粘贴以下代码-- chrome.exe --user dir=“C://chrome.exe会话”--禁用--web安全--它将打开新的chrome,其中CORS错误将被禁用,这是用于开发的临时解决方案。

查找附加图像以获得更多细节

https://i.stack.imgur.com/whXvP.png

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74393757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档