我想在 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);輸出:302False我的問題是如何發送注銷請求
2 回答

開心每一天1111
TA貢獻1836條經驗 獲得超13個贊
OAuth 本質上是無狀態的,因此實際上沒有什么可以“注銷”的。當您完成 OAuth 流程后,您會收到一個令牌。該令牌用于在每次調用 API 時對用戶進行身份驗證。如果您未在授權標頭中包含令牌,API 將拒絕您的請求。
因此,要“注銷”,只需從應用程序的內存/存儲中擦除任何存儲的訪問令牌值,該應用程序將不再有權訪問該用戶的帳戶。

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
恐怕您在執行請求之前沒有遵守規則:
刪除您之前從 OAuth 流程收到的任何緩存的 access_token 或 refresh_token 值。
在應用程序中執行任何注銷操作(例如,清理本地狀態、刪除任何緩存的項目等)。
只有在此之后,您才能使用以下 url 調用授權 Web 服務:
https://login.microsoftonline.com/common/oauth2/v2.0/logout?post_logout_redirect_uri={redirect-uri}
刪除 cookie 后,瀏覽器將重定向到您提供的重定向 URL。當瀏覽器加載您的重定向頁面時,不會設置任何身份驗證查詢字符串參數,您可以推斷用戶已注銷。
- 2 回答
- 0 關注
- 139 瀏覽
添加回答
舉報
0/150
提交
取消