• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

文件上传的iOS身份验证?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 02:52:37 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在努力弄清楚如何使用我的 Box 身份验证 token 来使用 Box API。我已经在我的应用程序中构建了身份验证流程,以便我可以将相关部分(访问 token 、刷新 token 等)保存到钥匙串(keychain)中。我遇到的问题是,每当我重新打开应用程序时,我似乎都找不到合适的方法来设置我的 BoxOAuth2Session 或任何重新使用保存的 token 将文件上传到 Box 的方法。目前,我正在使用我的 clientID 和 secret 重新创建 BoxOAuth2Session,并在该 session 上手动设置 accessToken、refreshToken 等值。我创建了一个 BoxFilesResourceManager,附加了这个 BoxOAuth2Session,并使用 uploadFileWithInputStream 上传了一个文件。此请求总是以 401 失败。我能够将文件上传到 Box 的唯一方法是立即在使用 [BoxSDK sharedSDK].filesManager 的登录步骤之后。重新创建 OAuth 状态以访问 API 的预期工作流程是什么?



Best Answer-推荐答案


BoxOAuth2Session 绑定(bind)到 SDK 实例。当您访问 [BoxSDK sharedSDK] 单例时,您使用的是已经与自己的 BoxOAuth2Session 和管理器实例连接的 SDK 实例。在正常使用中,我们建议使用 sharedSDK 单例,因此您应该操作附加到此 SDK 的 BoxOAuth2Session

执行此操作的一种方法是尝试从钥匙串(keychain)加载刷新 token 并在 OAuth2Session 上设置 refreshToken 属性。

[BoxSDK sharedSDK].OAuth2Session.clientID = @"YOUR_CLIENT_ID";
[BoxSDK sharedSDK].OAuth2Session.clientSecret = @"YOUR_CLIENT_SECRET";

// set up stored OAuth2 refresh token
self.keychain = [[KeychainItemWrapper alloc] initWithIdentifier:REFRESH_TOKEN_KEY accessGroup:nil];

id storedRefreshToken = [self.keychain objectForKey__bridge id)kSecValueData];
if (storedRefreshToken)
{
    [BoxSDK sharedSDK].OAuth2Session.refreshToken = storedRefreshToken;
}

SDK 将自动刷新 OAuth2 session 并在下次 API 调用时获取新的访问 token 和刷新 token ,只要刷新 token 未被撤销且未过期。您不妨manually trigger a heartbeat call to force a refresh .

我们整理了a sample app that demonstrates how to store and load refresh tokens using the keychain .

附带说明,我们不建议将访问 token 存储在设备上,因为此 token 是不记名 token ;丢失此 token 可能会让 Mallory 冒充您应用的用户。

关于文件上传的iOS身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17056554/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap