6

Ho appena revisionato la mia base di codici per utilizzare il nuovo facebook-ios-sdk 3.0 (dalla versione precedente, 2.xo o qualcos'altro).Migrazione di token di accesso esistenti su Facebook SDK iOS 3.0

Tutto ha funzionato alla perfezione, fino a quando non mi sono reso conto che non avevo rappresentato gli utenti che avevano già concesso l'autorizzazione all'app/connesso con l'implementazione precedente dell'SDK. Così ho provato controllo per vedere se l'access token è stato salvato in NSUserDefaults, e in tal caso, effettuare una chiamata per aprire una sessione:

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"FBAccessTokenKey"] && 
     [[NSUserDefaults standardUserDefaults] objectForKey:@"FBExpirationDateKey"]) { 
     [FBSession openActiveSessionWithPermissions:permissions 
             allowLoginUI:allowLoginUI 
            completionHandler:^(FBSession *session, 
                 FBSessionState status, 
                 NSError *error) { 
     // deal with state change 
     } 

La mia ipotesi è che l'utente non avrebbe dovuto switch Fast app per SSO, dal momento che avevano già. Tuttavia, questo è davvero ciò che accade.

Preferirei che non tutti gli utenti esistenti debbano effettuare nuovamente l'accesso durante l'aggiornamento.

Qualcuno ha eseguito l'aggiornamento senza dover effettuare nuovamente l'accesso?

Grazie

risposta

2

ho aggiornato un app con il facebook SDK 3.0 e ha funzionato bene. L'SDK di Facebook gestisce il token stesso, ma puoi comunque accedere a accessToken.

si può raggiungere in qualsiasi momento in questo modo:

NSString *accessToken = [FBSession activeSession].accessToken; 

Ciò restituirà l'access token o un nullo se non token è impostato. È anche possibile definire una serie di regole di memorizzazione nella cache di token nella sessione. Godere.

Problemi correlati