ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-07-11 08:24:48  阅读:218  来源: 互联网

标签:rest android oauth-2-0 jwt accountmanager


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

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

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

这是我目前使用的流程:

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

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

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

干杯!

解决方法:

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

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

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

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

希望能帮助到你

标签:rest,android,oauth-2-0,jwt,accountmanager
来源: https://codeday.me/bug/20190711/1430302.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有