【发布时间】:2016-11-26 04:22:00
【问题描述】:
我正在实现一个 Android 应用,它必须包含用户登录信息。为此,我创建了自己的身份验证器,目的是只登录一次。然后 AccountManager 可以请求访问令牌,因此应用程序不直接处理密码。 AccountManager 存储用户帐户和令牌。
我正在使用 JWT(Json Web 令牌)在我的 REST API 中对用户进行身份验证。
我想知道这个流程是否正确,或者在 Android 中有更好的方法来做到这一点。
这是我目前使用的流程:
用户第一次在登录界面输入用户名和密码。
我向服务器发出请求以检索存储在客户管理器中的有效令牌 (JWT)。
后续请求使用接收到的访问令牌直到过期(1 小时)从 API 检索内容。
令牌过期后,最多可在颁发时间后两周内刷新。从此刻起,需要用户凭据来检索新令牌。
这个过程是使用令牌并刷新它的正确方法吗?过程安全吗?还有其他选择吗?
考虑到此流程不是使用“刷新令牌”来生成新令牌,而是使用访问令牌,Android 帐户管理器的最佳用法是什么?我应该使用哪些其他工具?是否建议沿 JWT 执行 Oauth2 以实现“刷新令牌”?
干杯!
【问题讨论】:
-
您找到解决方案了吗?
-
@ezdookie 不,我只是按照我的描述实现了系统
标签: android rest oauth-2.0 jwt accountmanager