2013-11-25 58 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;