Vraag Google multiple inloggen met GIDSignin


Ik kan authenticatie voor één account gebruiken GIDSignIn door onderstaande code.

    GIDSignIn *googleSignIn = [GIDSignIn sharedInstance];
    googleSignIn.delegate = self;
    googleSignIn.uiDelegate = self;
    googleSignIn.clientID = (NSString*)cGmailAppClientId;
    googleSignIn.scopes = [self getGmailAuthenticationScopes];;
    [googleSignIn signIn];

Maar GIDSignIn is een gedeeld exemplaar. Het is voor slechts één account. Hoe kan ik meerdere accounts toevoegen? Meerdere accounts moeten gelijktijdig toegankelijk zijn (Ex krijgt toegangstoken).

Related SO question geeft geen correct idee.


13
2017-09-04 08:23


oorsprong


antwoorden:


Ik denk het niet GIDSignIn ondersteunt meerdere accounts. Hoewel je in theorie andere exemplaren dan de. Kunt instantiëren sharedInstanceer zal slechts één autorisatie per keer aan de iOS-sleutelhanger worden aangehouden. (De bibliotheek heeft meerdere sleutels nodig om meerdere autorisaties op te slaan, maar als u meerdere instanties hebt geïnstantieerd, hoe weet u dan welke die was na een koude start?)

Gelukkig is dat zo Google's GTMAppAuth, een alternatieve bibliotheek die hetzelfde doel vervult. Het is een beetje ingewikkelder om te gebruiken dan GIDSignIn, maar werkt over het algemeen op dezelfde manier. De belangrijkste onderscheidende factoren zijn dat 1) je meerdere autorisaties tegelijk kunt maken en 2) je ze kunt vasthouden aan de iOS-sleutelhanger met toetsen van jouw keuze. Als je specifiek geïnteresseerd bent in toegang tot Gmail, dan deze stappen van de populaire MailCore2-bibliotheek kan nuttig zijn.

Het klinkt van deze thread zoals de bibliotheken worden ondersteund door verschillende teams binnen het bedrijf, maar ik vermoed dat het een tijdje zal duren voordat ze samenkomen, of nooit.


3
2018-03-24 04:36