如何将经过身份验证的用户更改为 Google 驱动器 API

How to change authentcated users to the Google Drive API

我已按照 .NET Quickstart 教程从 Google 驱动器中获取驱动器名称列表。

此代码运行良好。但是,我想知道我是否可以再次强制进行身份验证(类似于注销,但我认为 google 不是那样称呼它)。

目前我需要等待同意超时才能select另一个帐户。

(如果我第一次启动应用程序或之前的会话超时,将提示一个 Google 同意页面,以便我可以 select 或添加特定帐户进行身份验证)。

我正在使用 OAuth2,平台是 .NET window 表单应用程序。

如果您 post 整理所有代码然后仅链接您遵循的教程,这将很有帮助。

Google API dotnet 客户端库的工作方式是将用户凭据存储在您计算机上的数据存储中。在下面的代码部分中,"user" 表示用户凭据,如果您更改它可以强制它在用户之间交换。如果用户没有凭据,则会弹出并再次要求您进行身份验证。要完全了解文件数据存储的工作原理,我建议您阅读我关于该主题的教程 Google .net – FileDatastore demystified

credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                Scopes,
                "user",
                CancellationToken.None,
                new FileDataStore(credPath, true)).Result;

在 Oauth 的世界里,真的没有注销这回事。从技术上讲,您可以访问用户数据,直到他们删除该访问权限或您的刷新令牌出现问题为止。您可以自行更改代码中的 "user" 以显示用户已在您的网站上注销。唯一接近于此的是 Revoking 令牌,它基本上删除了您对用户数据的访问权限。如果用户选择再次登录,他们将必须再次验证您的应用程序。