ios - Swift 4.1 JWT http header 承载在服务器中返回401

标签 ios swift jwt asp.net-core-webapi

当我尝试使用 swift 4.1 中的此 http 授权 header 通过以下代码从服务器获取请求时:

urlRequest.setValue("application/json", forHTTPHeaderField: "accept") urlRequest.setValue("Bearer\(token)", forHTTPHeaderField: "Authorization")

但不幸的是,我收到了一个 401 Unauthorized 响应并在响应中打印了 header ,结果是 Www-Authentication: Bearer error="invalid_token"

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

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

有没有人也遇到了和我一样的问题并且有解决方案?

最佳答案

找到解决办法了!我希望我对这个解决方案有所帮助,我所做的只是让 token 不是可选的,而不是 token 添加 ! 帮助我解决了这个问题!

Credit for @CZ54 using the guard function instead of !

guard 让 token = token else { return } urlRequest.setValue("Bearer\(token)", forHTTPHeaderField: "Authorization")

关于ios - Swift 4.1 JWT http header 承载在服务器中返回401,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50922758/

相关文章:

ios - CGPathMoveToPoint 在创建路径时遇到一些麻烦

UILabel + UIButton iOS 本地化最佳实践

ios - 从 0 开始 xAxis 和 yAxis 值并在图表库中设置自定义 xAxis 值

java - 功能 android 模块 - 不允许使用应用插件 : 'com.android.feature'

node.js - 使用服务帐户的 Google 身份验证失败 (node.js)

objective-c - MPMediaItem 属性持久 ID 有多独特?

ios - try catch x : y: positions using VNFaceObservation

Swift - 从预制 sqlite 文件填充核心数据

c# - 如何为我的 JWT 创建签名?

c# - DLL 必须位于 nuget 包中的 lib 文件夹中