2016-12-08 1 views
0

Ich verwende Microsoft Graph SDK für meine iOS-Anwendung.Muss ich das Zugriffstoken aktualisieren, wenn Sie Microsoft Graph verwenden und wie geht das?

Muss ich das Zugriffstoken manuell aktualisieren, wenn es abgelaufen ist?

Das Zugriffstoken ich rede ist: NXOAuth2AccountStore.sharedStore() Konten [0] .accessToken

ich getestet habe, dass ich noch einmal die accessToken abgelaufen abfragen.. Zum Zeitpunkt der ersten Anmeldung betrug die abgelaufene Zeit 3600 Sekunden. Also, ich habe 2 Stunden gewartet, um Benutzerinformationen, Ereignisse wieder zu bekommen und kann es immer noch bekommen.

Ich habe dump "accessToken.hasExpired" und "accessToken.expiresAt" sicher Zugriffstoken zu machen ist abgelaufen

Dank

* Mehr Details *

ich die Probe folgen hier: https://github.com/microsoftgraph/ios-swift-connect-sample

ich keine Dokumente über refresh Zugriffstoken auf Microsoft Graph finden: https://graph.microsoft.io/en-us/code-samples-and-sdks

Antwort

2

Ja, Sie müssen Token regelmäßig aktualisieren, wenn Sie Graph in Ihrer Anwendung verwenden. Weitere ausführliche Dokumentation ist durch Azure AD Website zur Verfügung: https://docs.microsoft.com/en-us/azure/active-directory/active-directory-authentication-scenarios

Die vorgeschlagene Auth Bibliothek, die Sie für die Aktualisierung dieses Token ein Verfahren verwenden enthält:

@implementation NXOAuth2AuthenticatorRefreshCallback

Wenn ich Ihre Frage nicht beantwortet haben, könnten Sie Spezifischer sein über das, was Sie erreichen möchten? Können Sie ein abgelaufenes Token verwenden oder können Sie Ihr altes nicht aktualisieren?

+0

Hallo Caitlin Bales, Vielen Dank für Ihre Antwort ich nicht Microsoft Azure Active Directory verwendet haben . Ich benutze Microsoft Graph, ich registriere eine Anwendung unter: https://apps.dev.microsoft.com/Landing Ich frage mich nur, weil ich getestet habe, und sah, dass das Zugriffs-Token abgelaufen ist, aber ich kann noch Quest senden (zB Ereignisse im Kalender abrufen). –

+0

Ja, Microsoft Graph verwendet Azure AD zur Authentifizierung von Benutzern (konvergente Authentifizierung: https://graph.microsoft.io/en-us/docs/authorization/converged_auth). Ich werde das Problem mit dem abgelaufenen Token untersuchen und gegebenenfalls einen Dienst-Bug für das betreffende Team erstellen. –

0

Verwenden Sie diesen Code immer dann, wenn Sie das Zugriffstoken aktualisieren müssen. Dies wird als Patch zu vordefinierten Code handeln in Graph sdk zur Verfügung gestellt und Sie das Token aus dem Verfahren extrahieren:

+(id)tokenWithResponseBody:(NSString *)theResponseBody tokenType:(NSString *)tokenType; 

[MSGraphClient setAuthenticationProvider:AppDel.authentication.authProvider]; 

_graphClient = [MSGraphClient client]; 

NSMutableURLRequest * sampleReq = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://graph.microsoft.com/v1.0/me"]]; 

[_graphClient.authenticationProvider appendAuthenticationHeaders:sampleReq completion:^(NSMutableURLRequest *request, NSError *error){  
    if(error == nil) 
    { 

    } 
    else 
    { 
     [self showToast:@"" message:@"Failure in refresh 0365 token"]; 
    } 
}]; 
Verwandte Themen