当前位置: 首页 > 知识库问答 >
问题:

带web API的角[重复]

廉志强
2023-03-14

当我试图调用任何api时,我面临400错误。`

checkLogin(userInput): Observable<any> {
 return this.http.get('https://***/testhandler').pipe(
    map(this.extractData),
    catchError((error: HttpErrorResponse) => {
        let errorMessage = '';
        if (error.error instanceof ErrorEvent) {
            // client-side error
            errorMessage = `Error: ${error.error.message}`;
        } else {
            // server-side error
            errorMessage = `Error Code: ${error.status}\nMessage: ${error.statusText}`;
        }
        // window.alert(errorMessage);
        return of("");
    })
    // catchError(this.handleError<any>('addProduct'))
);`

我添加了标题

request = request.clone({
    setHeaders: {
        //Authorization: `Bearer ${currentUser.token}`
       'app-auth-fetch-qualifier': localStorage.getItem("tokenId"),
    }
}); 

我得到了400个错误,我的服务器端配置

if (Request.HttpMethod == "OPTIONS")
{

    Response.AddHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
    Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
    Response.AddHeader("Access-Control-Max-Age", "1728000");
    Response.AddHeader("Access-Control-Allow-Credentials", "true");
    Response.AddHeader("Access-Control-Allow-Headers",
        "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With,
         Content-Type, Access-Control-Request-Method,
         Access-Control-Request-Headers,app-auth-fetch-qualifier");
    Response.End();
}
else
{
    Response.AddHeader("Access-Control-Allow-Credentials", "true");
}
 <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Headers" value="Content-Type, Accept" />
    <add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS" />
    <add name="Access-Control-Max-Age" value="1728000" />
 </customHeaders>
'app-auth-fetch-qualifier': localStorage.getItem("tokenId")

共有1个答案

屈健柏
2023-03-14

https://stackoverflow.com/a/19744754/11475011的可能副本

这是安全的一部分,你不能这么做。如果您希望允许凭据,那么您的access-control-allog-orgin不能使用*。您必须指定确切的协议+域+端口。请参阅以下问题以供参考:

Access-Control-Allow-Origin通配符子域、端口和协议使用凭据进行跨源资源共享。因此,将http://localhost:3000或http://localhost:8000设置为allow origin标头。

 类似资料:
  • 奇怪的事情正在发生......我真的不明白为什么......这篇文章只有在将id参数类型从int更改为object时才有效。 我知道最好的方法是在url中设置值。。。然而我试图避免这件事。。。我的首选是将值作为json发布 public IHttpActionResult Gettest(int id)=不工作! {“Message”:“未找到与请求URI匹配的HTTP资源”http://loca

  • 如标题所示,如果“模型”不完整,我所要做的就是返回一个自定义错误集合。 虽然我在积极地“搜索/谷歌”,但我还没有找到解决问题的办法。 我可以使用“modelstate”,但是由于“定制”,我想手动这样做。 代码如下: null null 基于自定义属性查找不完整的属性 属性样本 所以忽略后面的两个片段,更多的是给出一个完整的流程概述。我完全理解有一些“开箱即用”的技术,但我确实喜欢创建自己的实现。

  • 问题内容: 您好,我正在尝试在我的应用程序中实现加密。我在前端使用angular(angular-4),在后端使用node js。通过socket.io通过自定义命令进行通信。但基本上,我坚持要在客户端中找到用于RSA加密的适当库。客户端将首先向服务器请求RSA公钥。服务器用密钥响应,但是现在我找不到任何适合使用此公共密钥通过RSA加密数据的库。我已经尝试过node- rsa。以下是代码sn 但我

  • 下面的屏幕截图显示了对1的测试。我想使矩形外的组件的角完全透明 但是,当父面板上有红色背景(或任何非标准颜色)时,您可以看到这种方法的缺点。拐角默认为默认面板颜色(最容易在中看到)。 最终,我希望它能用于父容器中的非标准颜色,但它的部分灵感来自于我需要做什么才能用渐变绘制复制此组件? 有人知道如何让这些角落透明吗? 而是为JTextArea的内部填充设计的,带有背景图像(

  • 我一直在努力使我的警告对话框圆角,但不知何故,我不能。我试过了,但失败了。我试着关注这个博客http://blog.stylingandroid.com/archives/271并以此为基础制作了我的风格。 顺便说一句,现在补充我的问题。我的一些新发现。上面链接中的代码在2.3.3(GB)上运行良好,但在ICS中根本不起作用。一些改变使代码中断。 我想避免创建9个补丁图像,因此我使用形状。9补丁图

  • 我是从JSON文件而不是数据库获取数据。我试图根据JSON中的状态值为图标赋色,例如[if green?class1:class2]下面是我的代码。 我的HTML文件 下面是我的JSON文件。 这是我的CSS **我无法更改状态图标的颜色。我得到了这个错误** 错误类型错误:无法读取未定义的属性“status”