簡體   English   中英

注銷用戶OneDrive API

[英]Sign out a user OneDrive API

我想在OneDrive API中注銷用戶,我嘗試過此操作 ,並發送了請求:

var client = new RestClient("https://login.live.com/oauth20_logout.srf?client_id=762d0c10-xxxx-xxxx-xxxx-085a4a1743bc&redirect_uri=urn:ietf:wg:oauth:2.0:oob");
var request = new RestRequest(Method.GET);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
IRestResponse response = client.Execute(request);
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(response.IsSuccessful);

輸出:

302
False

我的問題是如何發送注銷請求

恐怕您在執行請求之前沒有遵循規則

  • 刪除以前從OAuth流中收到的所有已緩存的access_token或refresh_token值。
  • 在應用程序中執行任何注銷操作(例如,清理本地狀態,刪除所有緩存的項目等)。

只有在之后 ,您才能使用url調用授權Web服務:

https://login.microsoftonline.com/common/oauth2/v2.0/logout?post_logout_redirect_uri={redirect-uri}

刪除Cookie后,瀏覽器將被重定向到您提供的重定向URL。 當瀏覽器加載您的重定向頁面時,將不會設置身份驗證查詢字符串參數,並且您可以推斷用戶已注銷。

OAuth本質上是無狀態的,因此實際上沒有什么可以“注銷”的。 完成OAuth流程后,您會收到令牌返回。 每次調用API時, 都會使用該令牌對用戶進行身份驗證。 如果您沒有在Authorization標頭中包含令牌,則API將拒絕您的請求。

因此,要“注銷”,只需從應用程序的內存中擦除所有存儲的訪問令牌值,該應用程序將不再有權訪問該用戶的帳戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM