2016-04-22 58 views
7

我有/这个网页需要基本认证。在/api/*之下提供了REST API,它需要JWT令牌在授权标头中传递。如何防止/覆盖Safari中的授权标头?

在Chrome浏览器中工作正常:当我加载网页时,它向我请求基本凭据,然后网页在授权标题中与JWT一起对/api/*执行AJAX请求。

在Safari然而,所有的AJAX请求与授权头设置为基本凭据发送,并且不允许设置JWT在授权头...

是否有这种情况的任何解决方法吗?

我设置JWT像这样的AJAX请求:

$.ajaxSetup({ 
    headers: {'Authorization': accessToken} 
}); 

回答

1

我有这个问题,可能是在Safari中的错误。

从Safari的请求:

enter image description here

在Wireshark的相同的请求:

enter image description here

解决方案:不使用基本认证或更改的授权报头的名称(例如使用X-My-Api-Auth)。