In CocoaLibSpotify, come posso ottenere che SPLoginViewController memorizzi le credenziali, in modo che gli utenti possano accedere in seguito automaticamente tramite [[SPSession sharedSession] attemptLoginWithStoredCredentials:]?SPLoginViewController per ricordare le credenziali
risposta
Non è così.
Invece, implementare il metodo SPSessionDelegate
-session:didGenerateLoginCredentials:forUserName:
e memorizzare le credenziali in NSUserDefaults
o qualsiasi altra (le credenziali fornite sono già crittografate e sicure per l'archiviazione in chiaro).
La prossima volta che si avvia l'app, se si dispone di credenziali disponibili, saltare interamente e accedere utilizzando il metodo attemptLoginWithUserName:existingCredential:rememberCredentials:
SPSession
. Se questo genera un errore di accesso, il token è stato invalidato e devi chiedere all'utente di effettuare nuovamente il login - l'invalidazione può accadere se l'utente cambia la sua password da quando il token è stato generato.
Si noti che i parametri rememberCredentials:
e il vecchio modo di fare le cose attemptLoginWithStoredCredentials:
ora sono considerati deprecati e andranno via presto.
La risposta precedente è anche non è più rilevante come l'attemptLoginWithUserName: existingCredential: rememberCredentials: metodo non esiste più (nonostante ancora in fase di cui nei commenti di SPSession.h)
Per ottenere l'installazione:
- Ricevi le ultime cocoalibspotify da github e lo ricostruisci in Xcode: https://github.com/spotify/cocoalibspotify
- costruzione e rientro nel progetto:
per accedere automaticamente o chiede di autenticazione dell'utente se non precedentemente iscritto:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *storedCredentials = [defaults valueForKey:@"SpotifyUsers"];
if (storedCredentials == nil)
[self performSelector:@selector(showLogin) withObject:nil afterDelay:0.0];
else
{
NSString *u = [storedCredentials objectForKey:@"LastUser"] ;
[[SPSession sharedSession] attemptLoginWithUserName:u existingCredential:[storedCredentials objectForKey:u]];
}
metodo di callback per memorizzare le credenziali quando connesso:
-(void)session:(SPSession *)aSession didGenerateLoginCredentials:(NSString *)credential forUserName:(NSString *)userName
{
NSLog(@"stored credentials");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *storedCredentials = [[defaults valueForKey:@"SpotifyUsers"] mutableCopy];
if (storedCredentials == nil)
storedCredentials = [NSMutableDictionary dictionary];
[storedCredentials setValue:credential forKey:userName];
[storedCredentials setValue:userName forKey:@"LastUser"];
[defaults setValue:storedCredentials forKey:@"SpotifyUsers"];
[defaults synchronize];
}
- 1. Cancella le credenziali da UIWebView
- 2. clojure OAuth e le credenziali
- 3. Firefox: qual è la base per ricordare le informazioni di accesso?
- 4. Impostare Notepad ++ per ricordare l'ultima sessione?
- 5. Credenziali API PayPal per sandbox
- 6. Le credenziali di dominio per una classe WebClient non funzionano
- 7. Come progettare un'API RESTful per verificare le credenziali dell'utente?
- 8. Come impostare le credenziali di Google Drive nell'app per Android?
- 9. PowerShell per verificare le credenziali di amministratore locale
- 10. Migliori pratiche per le credenziali di MySQL/host
- 11. Come impostare le credenziali proxy per un client wcf specifico?
- 12. Impossibile ottenere le credenziali di rete per funzionare
- 13. Come specificare le credenziali dell'utente per un'applicazione click-once?
- 14. Jenkins: Usa le credenziali personali per il progetto
- 15. Posso specificare le credenziali RabbitMQ in node.js?
- 16. 403 vietato - Nginx - utilizzando le credenziali corrette
- 17. Boto3: ottieni le credenziali in modo dinamico?
- 18. Git: rimuovere le credenziali dal repository
- 19. New-PSDrive non supporta le credenziali?
- 20. IIS che richiede le credenziali di accesso
- 21. Dove Jenkins memorizza le credenziali SVN
- 22. Come ottenere le credenziali API paypal?
- 23. Mancano le credenziali API sanbox di PayPal?
- 24. Perché github continua a chiedermi credenziali per il repository?
- 25. Team Foundation Server che richiede le credenziali di accesso
- 26. Credenziali AWS non funzionanti - ~/.aws/credenziali
- 27. Impronte digitali facili da ricordare per i dati?
- 28. Come ricordare nome utente/password quando si chiama tf.exe?
- 29. Qual è lo standard con oAuth per ricordare gli utenti?
- 30. Ricordami in Spring security per ricordare solo il nome utente