使用OAuth在Dropbox文件夹中自动登录

时间:2014-05-12 14:46:56

标签: ios oauth dropbox-api

仅供内部使用我需要在我们的应用程序内的tableview中显示我们的Dropbox文件夹的内容,而不显示登录屏幕并处理验证URL。 在所有示例中,我只找到了对

的引用
#import <DropboxSDK/DropboxSDK.h>

DBSession *dbSession = [[DBSession alloc]
  initWithAppKey:@"INSERT_APP_KEY"
  appSecret:@"INSERT_APP_SECRET"
  root:INSERT_ACCESS_TYPE]; // either kDBRootAppFolder or kDBRootDropbox
[DBSession setSharedSession:dbSession];

之后,身份验证将作为url从dropbox的网页回调处理。

但是有一种方法可以处理不同部分的autenticantion并将它们保存在代码中吗?

可以通过直接api呼叫轻松处理吗?

在Dropbox&#34; app console&#34;我找到了一个生成的访问令牌&#34;但我不明白如何使用。

感谢您的帮助和时间。

2 个答案:

答案 0 :(得分:1)

Dropbox API旨在让每个用户链接自己的Dropbox帐户,以便与自己的文件进行交互。但是,技术上可以连接到一个帐户。 SDK不提供明确的支持,出于各种技术和安全原因,我们不建议这样做。

但是,如果您确实想要使用此路线,而不是启动授权流程,则可以手动为您的应用使用现有的访问令牌。 (请注意不要撤消它,例如通过https://www.dropbox.com/account/security。)在iOS Core SDK中,您需要使用:

- (void)updateAccessToken:(NSString *)token accessTokenSecret:(NSString *)secret forUserId:(NSString *)userId;    

但是,这不是一个好主意。由于这将是一个客户端应用程序,您的应用程序的任何恶意用户都可以提取访问令牌并使用它来绕过您的应用程序试图强制执行的任何访问限制。例如,他们可以访问他们不应该访问的内容,或者使用其他用户可以访问的恶意负载添加或替换内容。

答案 1 :(得分:-1)

除非Dropbox最近更改了API,否则用户必须手动提供用户名/密码。这可以通过弹出Dropbox应用程序或使用Dropbox Web视图来完成。您无法以编程方式提供默认用户名/密码。