首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌签到

谷歌签到
EN

Stack Overflow用户
提问于 2018-05-05 01:21:05
回答 1查看 1.2K关注 0票数 2

我实现了带有身份验证的Google SignIn代码,以访问Google,并有一个“退出”按钮,其中包含以下推荐代码:

代码语言:javascript
复制
GIDSignIn.sharedInstance().signOut()

然而,每次我第一次运行应用程序后,signIn进程就不再要求我提供密码。

如果我登录,然后按下我的注销按钮,下一次我按下登录按钮,我会被提示输入一个谷歌帐户,然后提示我允许访问谷歌驱动器。

如果我登录,然后退出应用程序而不按“退出”按钮,下次我按下“登录”按钮时,我将不会收到提示并完全登录。

这种行为似乎与谷歌关于其快速启动代码(https://developers.google.com/drive/v3/web/quickstart/ios?ver=swift)的声明一致:“授权信息存储在您的密钥链中,因此后续执行不会提示授权。”

也就是说,GIDSignIn.sharedInstance().signOut()退出命令似乎在Google的端(必须选择一个Google帐户并允许Google驱动器在下一次登录时访问)起作用,但在iOS端不起作用,因为iOS似乎已经保存了密码(大概在密钥链中),并且在我第一次登录时总是将它交给Google。

我看到了Google Sign Out iOS的帖子,比兰德拉建议在那里尝试

代码语言:javascript
复制
[GTMOAuth2ViewControllerTouch removeAuthFromKeychainForName:kKeychainItemName];

要从iOS设备的密钥链中删除密码,请执行以下操作。

我还没有找到如何使用这个建议的办法。有人能解释一下如何删除用户使用Google SignIn输入的密码信息吗?(假设这是完全注销用户所需做的事情)。我在用斯威夫特。

通常,让密钥链记住谷歌的密码不会有什么问题,但这是一个收集研究数据的应用程序。研究对象将使用自己的iOS设备(iPhone)登录到实验室的Google帐户,因此我们不希望这个密码留在他们的密钥链中。

我们很感激你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-05-25 02:50:11

在撰写这篇文章时,您可以使用以下内容:

Swift 5

代码语言:javascript
复制
GIDSignIn.sharedInstance()?.disconnect()

断开当前用户与应用程序的连接,并撤消先前的身份验证。如果操作成功,OAuth 2.0令牌也将从密钥链中删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50184827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档