2016-11-04 5 views
0

Ich ging durch Microsoft OneDrive API-Tutorials und sie führen nur Menschen, wie Sie OneDrive mit UI-Modus verbinden. Dies bedeutet, dass Benutzer aufgefordert werden, den Zugriff auf das OneDrive (OAuth2) zu authentifizieren. Was ist, wenn ich möchte, dass dies übersprungen wird, oder umgekehrt, möchte ich, dass sich alles im stillen Modus (Dienstmodus) authentifiziert? Irgendeine Anleitung?Verbinden Sie MS OneDrive von Window Service (Hintergrund Task)

https://github.com/OneDrive/onedrive-sdk-dotnet-msa-auth-adapter

Antwort

0

Wenn Sie Microsoft Onedrive im Kontext eines Benutzers zugreifen möchten, müssen Sie die interaktive OAuth2 Fluss verwenden erteilte Zustimmung zu sein und eine access_token und refresh_token erhalten. Dies ist nur beim erstmaligen Einrichten der Konfiguration erforderlich.

Sobald Sie ein refresh_token zur Verfügung haben, kann es für ein neues access_token stillschweigend eingelöst werden.

Wenn Sie eine Hintergrundaufgabe/einen Windows-Dienst erstellen möchten, der im Kontext eines Benutzers mit OneDrive verbunden bleibt, müssen Sie eine interaktive Konfigurationserfahrung mit "Hinzufügen eines OneDrive-Kontos" haben und den OAuth2-Flow durchlaufen. Sobald dies abgeschlossen ist, kann der Dienst das gespeicherte refresh_token verwenden, um neue access_token zu generieren und API-Aufrufe durchzuführen.

Es gibt einige Szenarien, in denen die refresh_token ungültig werden, dass Sie wieder für Anmeldeinformationen aufzufordern, müßten:

  • Der Benutzer ändern ihr Passwort
  • Der Benutzer Zugriff auf die Anwendung widerruft
  • Ein Unternehmen konfiguriert einen Ablaufzeitraum für refresh_tokens (nur OneDrive for Business)

Ihr Dienst müsste diese Szenarien und hav Eine Möglichkeit, um zu bestätigen, dass zusätzliche Konfiguration erforderlich war.

+0

ist eine alternative Möglichkeit statt dies? – lannyboy

+0

OneDrive for Business (nicht persönlich) hat eine Option, um den OAuth2-Passwortfluss zu verwenden. Es gibt mehr Details darüber hier: http://www.cloudidentity.com/blog/2014/07/08/using-adal-net-to-authenticate-users-via-usernamespassword/ –

+0

danke. Ich werde anfangen, darauf zu schauen. – lannyboy

Verwandte Themen