Swift开发API实现Bearer Token功能失败,求解决方案或参考资料
Bearer Token 实现修正方案
核心问题点
你当前代码的Header字段不符合OAuth 2.0 Bearer Token的标准规范:
- 错误使用了
authorizetoken作为自定义字段名,标准授权头字段名应为Authorization - 字段值缺少
Bearer前缀,这是Bearer认证强制要求的格式
修正后的代码示例
// 注意替换为你实际获取到的token值 let bearerToken = "NjQzODM2N0NDNDM4NDhCNDk3RkU0NjA0QUY0NjVENkE=" let headers = [ "Content-Type": "application/json", "Authorization": "Bearer \(bearerToken)", "Cache-Control": "no-cache" ] var request = URLRequest(url: url, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 120) request.httpMethod = "GET" request.allHTTPHeaderFields = headers
额外注意事项
- 如果你的服务端确实使用自定义的
authorizetoken字段而非标准头,请先和后端确认认证规则,上述修正仅针对通用Bearer Token标准场景 - Token值不要硬编码在生产代码中,建议从登录接口返回结果中动态获取、存储到钥匙串中使用
- 发起请求后如果仍有问题,可打印返回的状态码:401代表认证失败,需要核对Token有效性和头格式;其他状态码对应业务逻辑错误
内容的提问来源于stack exchange,提问作者user17416997
相关产品推荐
相关产品推荐

