2013-11-25 56 views
2

在V1的iOS SDK有可能会注销当前用户如下用户:如何注销时Box V2的iOS SDK

[Box logoutWithCallbacks:^(id <BoxOperationCallbacks> on) 
{ 
    on.after(^(BoxCallbackResponse response) 
       { 
       }); 
}]; 

它是如何使用V2 SDK做了什么?

回答

3

这是我做的:

BoxSDK *sdk = ... // a reference to the BoxSDK for the user 
sdk.OAuth2Session.accessToken = @"INVALID_TOKEN"; 
sdk.OAuth2Session.refreshToken = @"INVALID_TOKEN"; 

就是这样。下次您尝试对用户的会话进行任何操作时,您将被迫再次登录。

更新 - 你可以在盒子示例应用程序在行动https://github.com/box/box-ios-sdk-sample-app看到这一点。看看BoxFolderViewController.m文件。

+0

注意,这不吊销的OAuth2令牌在服务器上,它只是删除你的应用对他们的引用。向BoxOAuth2Session添加注销+撤销是我们想要添加到SDK中的。我们在这里跟踪它:https://github.com/box/box-ios-sdk-v2/issues/65 –

+0

我有这个问题。我希望能够区分用户的帐户何时未登录,以及由于其他原因(例如文件被删除)导致文件下载失败。前者的检查使用sdk.OAuth2Session.isAuthorized,后者使用downloadFileWithId中的失败块。然而,在我如上所示“注销”之后,isAuthorized继续返回true,所以现在,我的代码认为文件下载失败,因为其他错误。 – Rob

+0

要解决我上面描述的问题,我现在用下面的检查(sdk.OAuth2Session.isAuthorized &&![sdk.OAuth2Session.accessToken isEqualToString:@ “INVALID_TOKEN”])。我不确定这是否是最好的方法,但似乎迄今为止工作。 @RyanLopopolo,有没有更好的方法来检查这个?另外,感谢您使用此SDK的工作! – Rob

1

这是如何正确地退出

[BoxSDK sharedSDK].OAuth2Session.accessToken = nil; 
[BoxSDK sharedSDK].OAuth2Session.refreshToken = nil;