【问题标题】:Google API/OAUTH/NativeApplicationClient/OAuth2Authenticator > Logout?Google API/OAUTH/NativeApplicationClient/OAuth2Authenticator > 注销?
【发布时间】:2012-09-30 19:21:27
【问题描述】:

我正在构建一个桌面应用程序,该应用程序使用 OATH 按照此线程中的方案连接到 Googles API:

Google API v3 for dotnet; using the calendar with an API key

一切正常。我已经构建了一个显示 WebBrowser 以收集 authCode 的表单。

但是如何实现“注销”?找不到任何 API 功能。

【问题讨论】:

  • 扔掉访问和刷新令牌?
  • 这行得通。但是用户没有从谷歌注销,最终进入了 oauth 方案的第 2 步。但这可能是一个“功能”
  • 只有在您的网络浏览器/视图保存 cookie 时,Google 才能识别用户。如果依赖用户的默认浏览器,用户可以随意配置。如果您使用嵌入式 Web 视图,您可能可以配置 cookie 的处理方式。

标签: c# google-api oauth-2.0 devdefined-oauth


【解决方案1】:

尼尔斯,你可以做以下事情。

  1. 在 WebBrowser 控件中将用户从 Google 中注销,方法是转到 此网址 (https://accounts.google.com/Logout?hl=en)
  2. 您可以调用https://accounts.google.com/o/oauth2/revoke?token={token}撤销用户Token
  3. 您可以通过调用进一步从网络浏览器中删除 cookie 等,您可以 通过调用 System.Diagnostics.Process.Start("rundll32.exe","InetCpl.cpl,ClearMyTracksByProcess 2") 删除 cookie

【讨论】:

  • 您确实调用了该函数,并且该外部 Win32 进程运行并调用 Windows API 以清除 cookie。它可能会弹出一个状态窗口,但在清除 cookie 后会消失。
猜你喜欢
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-20
  • 1970-01-01
  • 2011-02-15
  • 1970-01-01
相关资源
最近更新 更多