我想在 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 关注
- 95 浏览
添加回答
举报
0/150
提交
取消