2

Ich verwende ADALiOS in meiner App für die Authentifizierung. Wenn Benutzer sich in der App anmelden, erhalte ich folgende Fehlermeldung:Die Benutzeranmeldeinformationen müssen Zugriffstoken erhalten. Bitte rufen Sie die non-silent acquireTokenWithResource-Methoden

"Das Argument 'cacheItem.scopes' ist ungültig. Wert: (null)." und

„Die Benutzerdaten benötigen, sind Zugriffstoken zu erhalten. Bitte rufen Sie die nicht stillen acquireTokenWithResource Methoden“

Jede Hilfe würde geschätzt. Danke

Antwort

0

Es gibt ein Muster für den Umgang mit iOS, die zunächst in den ADAL-Cache für die Anmeldeinformationen (die stille Version) suchen - wenn die Anmeldeinformationen nicht vorhanden sind, dann Aufruf der Version, die die Benutzeroberfläche zum Sammeln der Anmeldeinformationen öffnet (das nicht-silent-Version)

Sie dies hier im Beispiel app sehen: https://github.com/AzureAD/azure-activedirectory-library-for-objc/blob/master/Samples/MyTestiOSApp/MyTestiOSApp/BVTestMainViewController.m

+0

Ich folge dem gleichen Muster. Beim Start der Anwendung wird nach Get_Token_Silent gesucht. Wenn das Token aus dem Cache abgerufen wird, wird die UI nicht angezeigt, und wenn das Token nicht abgerufen wurde, wird das Token für die nicht-stille Methode angefordert. Jedes Mal, wenn ich die App öffne, wird mir die Benutzeroberfläche angezeigt, um mich anzumelden und den oben genannten Fehler zu bekommen. –

+0

Können Sie Ihre Frage mit dem von Ihnen verwendeten Code aktualisieren? –

+0

Beim Hinzufügen oder Aktualisieren von Elementen im Cache wurden die Bereiche nicht aktualisiert, und beim Abrufen der Elemente aus dem Cache fehlte der Bereich. Also aktualisiere ich nur die Bereiche, während ich den Cache hinzufüge oder aktualisiere, und ich habe das Token stillschweigend bekommen. Danke –

2

Dies passieren könnte, wenn Schlüsselbund Freigabe deaktiviert ist. Einer der wahrscheinlichen Lösung ist:

Lösung:

Schritt 1: Xcode> Target> Kompetenzen> Schlüsselanhänger Sharing -> Schalter auf EIN

Schritt 2: hinzufügen com.microsoft.adalcache in Schlüsselbund Gruppe.

Hoffe, das hilft.

+0

Ich hatte die Freigabe des Schlüsselbunds aktiviert, aber ich kann das Aktualisierungstoken nicht erhalten, der gleiche Fehler wird angezeigt, bitte geben Sie einen Vorschlag an. –