Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net GoogleOAuth2.0:每次需要应用程序询问密码,但不需要同意_Vb.net_Login_Oauth_Google Oauth - Fatal编程技术网

Vb.net GoogleOAuth2.0:每次需要应用程序询问密码,但不需要同意

Vb.net GoogleOAuth2.0:每次需要应用程序询问密码,但不需要同意,vb.net,login,oauth,google-oauth,Vb.net,Login,Oauth,Google Oauth,我开发了一个功能强大的应用程序,可以通过Google OAuth 2.0进行登录,并返回用户名和电子邮件。这是我用VB.NET做的,没有任何谷歌API。仅通过web请求和普通web浏览器控件。我执行以下步骤: 我使用querystring创建了一个URI,其中包括客户端id、重定向URI、作用域、提示符=选择帐户和响应类型 然后WebBrowser向我显示了一个页面,用户可以在其中选择使用哪个帐户进行登录。之后,它会将用户推到一个同意页面以使用该应用程序。然后在用户同意后,Google提供了一个

我开发了一个功能强大的应用程序,可以通过Google OAuth 2.0进行登录,并返回用户名和电子邮件。这是我用VB.NET做的,没有任何谷歌API。仅通过web请求和普通web浏览器控件。我执行以下步骤:

我使用querystring创建了一个URI,其中包括客户端id、重定向URI、作用域、提示符=选择帐户和响应类型

然后WebBrowser向我显示了一个页面,用户可以在其中选择使用哪个帐户进行登录。之后,它会将用户推到一个同意页面以使用该应用程序。然后在用户同意后,Google提供了一个授权令牌,我用它来获取访问令牌。然后我通过访问令牌获取用户信息

所有这些都很有效!然而,我正试图稍微修改这个过程,以符合我的应用程序的要求。我想强制用户在每次运行应用程序时输入电子邮件和密码。根据上述情况,用户只需输入一次电子邮件密码,然后浏览器将其保存以备将来使用。我不想让浏览器保存它,我想每次都问fresh。至于同意,我只希望OAuth第一次请求同意。根据上述情况,每次运行应用程序时都会请求同意

我如何完成这个要求。根据研究,有一个名为approval_prompt=force的参数,每次都会强制同意,应该删除它。我查过了,它不在那里。它由谷歌API提供。我没有使用API,我使用的是简单的web请求

谢谢你的建议。提前谢谢

更新 我已经设法编写代码,使OAuth在每次运行应用程序时都要求输入用户名和密码;通过清除由web浏览器控件创建的缓存

注意,我使用的是第三方浏览器GeckoFX。我所说的“网络浏览器”控制实际上是指壁虎。它允许清除由它创建的缓存