2017-03-11 4 views
0

Ich entwickle eine Webanwendung, die auf Kontakt und andere Informationen für Benutzer mit ihren Outlook- oder Office 365-Konten zugreifen soll und ich habe Probleme mit offline_access zu Office365-Konten.Office 365 im Vergleich zu Outlook OAuth2 offline_access Inkonsistenzen mit refresh_token Anfragen

Nach der ersten Authentifizierung funktioniert der Code gut und ich kann auf alle benötigten Outlook- und Office 365-Konten zugreifen.

Die Inkonsistenz wird angezeigt, nachdem das erste Zugriffstoken abgelaufen ist. Bei Outlook-Konten kann ich das Zugriffstoken immer aktualisieren, während bei Office 365-Konten derselbe Code mit dem Fehler "400 ungültige Anforderung" fehlschlägt.

Es fühlt sich an, als würde es etwas anderes für die Office 365-Konten tun, wenn ich den Zugang zu aktualisieren, aber ich kann nicht herausfinden, was .... Ich bin nicht sicher, wie zu sagen, ob die Benutzer Otlook vs Office 365 verwendet haben Konto kann ich später herausfinden. Die von mir verwendete Autoritäts-URL lautet https://login.microsoftonline.com/common/oauth2/v2.0/token und ich dachte, dass es für Outlook und Office 365 möglicherweise anders sein sollte, aber alles andere scheint für beide Kontotypen zu funktionieren, mit Ausnahme der refresh_token-Anfrage.

Schätzen Sie Ihre Hilfe! Danke!

+0

Können Sie eine Beispielaktualisierungsanforderung posten? Vielleicht können wir sehen, was falsch ist. –

+0

Gut, danke! Jetzt fühle ich mich dumm, aber ich habe das Problem gelöst. Es stellte sich heraus, dass die in der Aktualisierungsanforderung gesendete redirect_url nicht den Namen meines Hosts enthielt. ... Das Lustige daran ist, dass dies für die Outlook.com-Konten überhaupt nicht von Bedeutung ist, während es für den Office365-Account ein Problem war. Seltsam .... –

+0

Ah ok, ja, es ist am besten, die gesamte URL dort aufzunehmen :). Du solltest das als Antwort posten. –

Antwort

0

Das ist komisch, aber die Lösung des Problems besteht darin, sicherzustellen, dass der Parameter redirect_url, der in der Aktualisierungstokenanforderung verwendet wird, genau mit der registrierten Weiterleitungs-URL einschließlich des Hostnamens übereinstimmt.

Erstaunlicherweise gilt dies nur für Office 365-Konten und nur für Refresh-Token-Anforderungen. Es sieht so aus, als ob alle anderen APIs für Outlook- und Office 365-Konten sich nicht um die bereitgestellte Weiterleitungs-URL kümmern und stattdessen das verwenden, was für die App registriert wurde.

Verwandte Themen