检查设备是否已对Google帐户进行身份验证,然后才允许访问我的离线应用

sha*_*ham 5 authentication android android-account

我有一个完全离线工作的私人应用程序(即没有发送/接收的服务器数据),但是我需要将其限制在手机上具有有效Google帐户的用户.我可以通过迭代电话帐户列表来确保手机上有合适的帐户,但是我是否可以检查帐户是否有效/经过身份验证而无需我介绍完整的OAuth流程?我没有必要获取cookie或将任何数据发送到服务器.

理想情况下,我想做以下事情:1.与客户经理核实身份验证令牌.2.如果收到令牌,则允许访问该应用程序.目前没有通过客户经理进行任何检查,任何人都可以在手机上创建一个虚假账户,然后即使他们输入电子邮件/密码也可以获得访问权限,但他们永远不会获得授权.

我希望我已经清楚地解释了这一点.由于我的应用程序没有网络连接,所以我想避免添加任何我自己的网络/ oauth检查.

Jej*_*dou 5

那这个呢:

AccountManager manager = AccountManager.get(this);
Account[] accounts = manager.getAccountsByType("com.google");
final boolean connected = accounts != null && accounts.length > 0;
Run Code Online (Sandbox Code Playgroud)

连接的布尔值将指示手机中是否有已连接的Google帐户.

确实不会对令牌进行任何检查,但如果该帐户已在手机上注册,那么Google会在服务器端检查它,以验证它...

  • 但是,密码可能已更改,帐户可能已被黑客入侵等,因此列出的帐户不一定有效。 (2认同)