GIDSignIn需要密码

时间:2015-12-18 14:51:01

标签: ios swift google-signin

我正在开发一个内部应用程序,该应用程序将利用我们的企业Google云端硬盘帐户,并将用于共享设备(学校网站上的教师和学生共享的iPad)。

有没有办法强制GIDSignIn在每次登录尝试时都要求输入密码?现在,即使在致电GIDSIgnIn.sharedInstance().signOut()(或GIDSignIn.sharedInstacne().disconnect())后,用户下次访问应用时也无需输入密码。这意味着,当设备被下一个用户占用时,他们可以非常轻松地访问其他用户的帐户。

我错过了什么吗?我是否需要以某种方式清除UIWebView进程使用的GIDSignIn中的Cookie存储区?

1 个答案:

答案 0 :(得分:4)

如果可用,GIDSignIn登录流程使用的是SFSafariViewController,而不是UIWebView。它利用Safari中存储的cookie(以及密码),以便更快地登录。

我认为您无法清除此类Cookie。不过,您应该可以通过在https://www.google.com/accounts/Logout中打开SFSafariViewController来强制退出Google,但与您应用其余部分的互动可能有点奇怪。有关提供返回URL的方法,请参阅Logout link with return URL (OAuth),您可以尝试使用该URL来控制流程(但是,您需要使用URL方案返回)。

请注意,iOS可能会提示保存登录信息,然后向后续用户提供所述登录信息。您需要在“设置”中禁用该功能 - > Safari - >自动填充

可能还有其他方法可以通过配置设备来实现它,但iOS目前并不是真正为多个用户设计的。