2016-11-07 112 views
1

我第一次开发Android应用程序(没有以前的经验惠普编码....)。主要是该应用程序将作为服务技术人员的工具使用。该应用程序已准备好进行现场测试,但在此之前,我需要应用程序才能做到这一点。我需要应用程序强制用户每次打开时都登录。这是因为应用程序中的某些信息是保密的,只有当前为公司工作的人才能获得此信息。惠特firebase我然后可以阻止离开公司的用户,或未验证的用户。目前用户登录惠普谷歌,他们保持登录,直到他们清除应用程序数据或删除它。如何强制用户每次登录?

我已经看过远近对这个问题的答案,但我只遇到过不同的使用定时器。

如果任何人有更好的解决方案,以这种“安全”的问题,即时通信开放给任何东西。

+0

您是否真的想要放弃所有潜在用户? –

回答

0

如果您正在使用谷歌登录功能进行身份验证,也没有出去强迫用户每次使用应用的时间与谷歌进行身份验证的内置支持。

这很有道理,因为用户仍然在手机上通过Google验证过。登录系统只验证用户身份;它本身不会保护设备上存储的数据。只要Google拥有有效的访问令牌,用户就不必再次输入用户名和密码(并且再次单击“使用Google登录”并不能真正提供额外的保护)。

如果您主要关注的是阻止访问谁已离开公司的用户,你应该,如果你正在使用谷歌Apps的企业覆盖。如果您禁用该用户的帐户,则其访问令牌将失效。 Google Apps管理员还可以手动撤消对特定用户的特定应用的访问权限。

如果您不使用Google Apps(例如,您的用户使用@ gmail.com帐户或来自您的控制范围之外的域中的帐户),则可能需要考虑实施允许访问该应用程序的用户列表,并在启动时通过API调用检查该列表来验证当前用户是否具有访问权限。

如果真正的目标是保护应用程序的机密信息,你可能要采取类似,你需要你的用户设置并输入PIN码来访问应用程序的Android付费的方法。作为附加好处,您可以使用该PIN来加密您在本地存储的任何机密数据。

+0

访问令牌的问题在于应用程序未检查其是否仍然有效。有没有办法让应用至少验证令牌? –

+0

你使用什么访问令牌?如果您正在使用它,如果令牌无效,Google API调用将失败。但这应该是一个有争议的问题,因为如果用户不再登录或不再有权访问应用程序,那么当您的应用程序启动时,您不应该获得onConnected()'回调。请参阅[以此为例](https://developers.google.com/games/services/training/signin)在后续启动时重新授权用户。 –

+0

谢谢:)重新使用用户正是我所需要的 –

0

我会建议当用户返回到应用程序,你将它们发送给登录活动你看看到共享的喜好和每一次。