Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 4.1 JWT http头承载在服务器中返回401_Ios_Swift_Jwt_Asp.net Core Webapi - Fatal编程技术网

Ios Swift 4.1 JWT http头承载在服务器中返回401

Ios Swift 4.1 JWT http头承载在服务器中返回401,ios,swift,jwt,asp.net-core-webapi,Ios,Swift,Jwt,Asp.net Core Webapi,当我尝试使用swift 4.1中的this http authorization header从服务器获取请求时,使用以下代码行: setValue(“application/json”,用于httpheaderfield:“accept”) urlRequest.setValue(“承载者\(令牌)”,用于HttpHeaderField:“授权”) 但是运气不好,我收到了401未经授权的响应,并打印了响应头,结果是Www-Authentication:Bearer error=“invali

当我尝试使用swift 4.1中的this http authorization header从服务器获取请求时,使用以下代码行:


setValue(“application/json”,用于httpheaderfield:“accept”)
urlRequest.setValue(“承载者\(令牌)”,用于HttpHeaderField:“授权”)

但是运气不好,我收到了
401未经授权的
响应,并打印了响应头,结果是
Www-Authentication:Bearer error=“invalid_-token”

我在
Authorize
部分尝试使用当我使用
SwaggerUI
登录时生成的令牌,结果是正确的,并且令牌被验证和接受

我不确定是什么原因导致了这个错误,但我很怀疑它是否与
URLRequest
有关


是否有人也遇到了与我相同的问题,并且对此有解决方案?

找到了解决方案!我希望我在这个解决方案上帮助了所有人,我所做的只是使令牌不是可选的,而不是
token
添加
帮助我解决了这个问题

@CZ54使用
保护
功能而不是
的功劳

guard let token=token else{return}

urlRequest.setValue(“Bearer\(token)”,用于httpheaderfield:“Authorization”)

一般来说,即使使用JWT,我也不会遇到任何问题。通常会有一些愚蠢的错误,比如头球丢失。看看我的一个例子,JWT有一个“Bearer”。是否可能是问题所在?如果您的
令牌
变量是可选的?如果是,该值将是可选的(您的\u令牌)
。我建议你下载Charles Proxy并比较Swagger和appHi@CZ54的请求,是的,你确实有一个非常好的观点!我所做的是添加
,它解决了这个问题!谢谢你提起这个@阿尔文克松你不该这么做以避免该问题。更好地使用
guard let
模式并正确处理
nil
案例是的,现在就可以了,谢谢你的精彩提示!