我正面临着苗条的问题。我正在尝试制作一个非常简单的前端服务器,用svelte来确定我的后端在nest中的流是否正常。
长话短说,后端调用oauth来处理授权,如果用户成功连接,则返回会话cookie。
对于失眠症患者,或者邮递员,即使使用firefox或chrome,当我直接调用后端时,oauth流也能很好地工作。
但是,当我想做这个简单的电话,从一个苗条的前端,困难开始出现。我想我不太明白如何用苗条来做这件事。
"login.svelte“的Svelte代码:
<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 (实际上什么都不取)也不起作用。
我想我不知道怎么用苗条来做这样的事。如果有人能给我指点什么,给我一个主意,我会很感激的。谢谢!
发布于 2022-11-12 15:31:29
$: submit = () => {
window.location.href = 'http://transcendance:8080/api/v2/auth';
}鼓掌,鼓掌。
发布于 2022-11-14 12:44:56
在windows搜索上输入run并粘贴以下代码-- chrome.exe --user dir=“C://chrome.exe会话”--禁用--web安全--它将打开新的chrome,其中CORS错误将被禁用,这是用于开发的临时解决方案。
查找附加图像以获得更多细节
https://stackoverflow.com/questions/74393757
复制相似问题