gpt4 book ai didi

ios - 使用 Uber iOS SDK 从 tokenString 创建 AccessToken 失败

转载 作者:行者123 更新时间:2023-11-29 11:41:20 25 4
gpt4 key购买 nike

我在 Uber iOS SDK 中使用自定义授权,但在我的 iOS 代码中创建 AccessToken 时遇到问题。这是我从我的服务器得到的响应,似乎是一个有效的访问 token :

{
"access_token":"token here",
"expires_in":2592000,
"token_type":"Bearer",
"scope":"all_trips request",
"refresh_token":"refresh token here",
"last_authenticated":0
}

然后我将其传递给 AccessToken 初始化程序,如下所示:

let jsonString = //response from server as above
let accessToken = AccessToken(tokenString: jsonString)

我的访问 token 已创建(即非零),但没有填充任何相关属性。

accessToken //non-nil
accessToken.expirationDate //nil
accessToken.refreshToken //nil

奇怪的是,accessToken.tokenString 包含上面的原始 jsonString

我做错了什么吗?

编辑深入研究 Uber 项目的 AccessToken.swift 源文件,我发现:

@objc public init(tokenString: String) {
super.init()
self.tokenString = tokenString
}

它似乎从未真正创建过 refreshToken

最佳答案

如您所见,tokenString 只是访问 token 本身。如果您想解析 JSON 本身,我建议使用模型符合 Decodable 协议(protocol)这一事实,并通过该方法传入您的 JSON。

let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .secondsSince1970
let accessToken = try? decoder.decode(AccessToken.self, from: jsonData)
// If you need to convert a string to data, use String.data(using: .utf8)!

关于ios - 使用 Uber iOS SDK 从 tokenString 创建 AccessToken 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46397270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com