微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用客户经理在Android中实施JWT身份验证

我正在实施一个Android应用程序,必须包含用户登录.为此,我创建了自己的身份验证器,目的只需登录一次.然后AccountManager可以请求访问令牌,因此应用程序不会直接处理密码. AccountManager存储用户帐户和令牌.

我正在使用JWT(Json Web Token)在我的REST API中对用户进行身份验证.

我想知道这个流程是否正确,或者有更好的方法在Android中执行此操作.

这是我目前使用的流程:

>用户首次在登录屏幕中输入用户和密码.
>我向服务器发出请求,以检索存储在客户经理中的有效令牌(JWT).
>后续请求使用收到的访问令牌,直到它到期(1小时),以从API检索内容.
>令牌过期后,可以在发布时间后的两周内刷新.从此刻起,需要用户凭据来检索新令牌.

此过程是否是使用令牌并刷新令牌的正确方法?这个过程安全吗?还有其他选择吗?

考虑到这个流程没有使用“刷新令牌”来生成新的但是访问令牌,那么Android帐户管理器的最佳用途是什么?我应该使用哪些其他工具?为了实现“刷新令牌”,是否建议沿JWT实施Oauth2?

干杯!

解决方法:

我可以说,你正走在使用JSON Web令牌并重现它的正确道路上.

但是您提到的安全性都是关于加密您检索到的令牌,然后将其保存在客户经理(也与用户凭据相同)中,使用您选择的一些加密方法(如AES或RSA),然后在您希望使用时解密.使用服务器生成的密钥和秘密算法也会杀死任何黑客的镜头.

如您所知,具有root访问权限的每个人都可以获取保存的凭据数据库并使用它.

使用这些技巧将降低使用涉及刷新令牌的Oauth 2.0的需求.

希望能帮助到你

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐