W CocoaLibSpotify, w jaki sposób uzyskać SPLoginViewController do przechowywania poświadczenia, aby użytkownicy mogli później logować się automatycznie za pomocą [[SPSession sharedSession] attemptLoginWithStoredCredentials:]?SPLoginViewController do zapamiętania poświadczeń
Odpowiedz
Nie musisz.
Zamiast wdrażać metodę -session:didGenerateLoginCredentials:forUserName:
SPSessionDelegate
i przechowywanie poświadczeń w NSUserDefaults
lub cokolwiek (podane poświadczenia są już zaszyfrowane i bezpieczne do przechowywania w czystym tekście).
Przy następnym uruchomieniu aplikacji, jeśli masz dostępne poświadczenia, pomiń po prostu SPLoginViewController
i zaloguj się, używając metody SPSession
'attemptLoginWithUserName:existingCredential:rememberCredentials:
. Jeśli spowoduje to błąd logowania, token został unieważniony i musisz poprosić użytkownika o ponowne zalogowanie się - unieważnienie może nastąpić, jeśli użytkownik zmieni hasło, ponieważ wygenerowano token.
Należy zauważyć, że parametry rememberCredentials:
i stary sposób wykonywania czynności są teraz uznawane za przestarzałe i wkrótce zostaną usunięte.
poprzedniej odpowiedzi jest również nie ma już znaczenia, jak attemptLoginWithUserName: existingCredential: rememberCredentials: nie istnieje metoda (mimo to nadal, o których mowa w komentarzach SPSession.h)
Aby uzyskać konfigurację:
- Pobierz najnowszą cocoalibspotify z github i zbudować go w Xcode: https://github.com/spotify/cocoalibspotify
- produkcji i spadek do swojego projektu:
Aby bezpiecznie się zalogować lub automatycznie poprosi użytkownika auth jeśli nie wcześniej zalogowany:
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]];
}
metodą oddzwaniania do przechowywania poświadczenia po zalogowaniu się:
-(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. Jak znormalizować argumenty funkcji Perla do zapamiętania?
- 2. poświadczeń do WMI zadzwonić VBScript
- 3. Użycie jQuery cookie.js do zapamiętania elementu hide/show?
- 4. check_box_tag domyślnie sprawdzany pod kątem zapamiętania
- 5. Przekazywanie poświadczeń do serwera raportów Sql 2008
- 6. HttpWebRequest nie przekazuje poświadczeń
- 7. Dzienniki poświadczeń testu Twilio
- 8. Przechowywanie poświadczeń SQL poprawnie
- 9. Błąd poświadczeń wtyczki Jenkins Subversion
- 10. netTcpBinding bez poświadczeń systemu Windows?
- 11. Ustawianie poświadczeń dla aplikacji WCF?
- 12. Nie można znaleźć domyślnych poświadczeń
- 13. Usuwanie zapisanych poświadczeń z TortoiseGit
- 14. Autoryzacja Swashbuckle OAuth2 z przepływem poświadczeń klienta
- 15. Potrzebujesz pliku cookie do zapamiętania sukcesu uwierzytelniania dwuskładnikowego (nie jest to trwałe logowanie)
- 16. Dlaczego składnia dekoratora języka Python zapewnia szybszy kod do zapamiętania niż zwykłą składnię opakowania?
- 17. Klonowanie repozytorium z submodułami: zastępowanie poświadczeń
- 18. Twitter4J zweryfikowania poświadczeń i połowu błąd
- 19. Resetowanie podstawowych poświadczeń uwierzytelniających za pomocą AFNetworking
- 20. Dostawca poświadczeń systemu Windows 7 do automatycznego logowania użytkownika do zdarzenia sprzętowego
- 21. Tworzenie proxy przy użyciu Pythona do przekazywania poświadczeń NTLM do innego serwera proxy
- 22. Przepływ poświadczeń właściciela zasobu doorkera dla wielu modeli
- 23. Obsługa dużych równoczesnych poświadczeń HTTP POST w aplikacji ASP.NET
- 24. Czy funkcja SAVON obsługuje uwierzytelnianie poświadczeń po stronie klienta
- 25. Interfejs wiersza komend AWS Nie można znaleźć poświadczeń - uprawnienia specjalne
- 26. Wymiana nowej JacksonFactory dostać google poświadczeń w Javie
- 27. Jak używać poświadczeń wygasłej właściwości w Symfony AdvancedUserInterface?
- 28. wciąż jest monitowany o poświadczenia po zainstalowaniu poświadczeń-osxkeychain
- 29. Jenkins nie będzie działał Start-Job z poświadczeń parametru
- 30. Pisanie w OAuth za pomocą poświadczeń klienta z Doorkeeper