当前位置: 首页 > 知识库问答 >
问题:

在Android中存储用户令牌[重复]

何甫
2023-03-14

您好,我目前正在为Android应用程序构建登录系统(它连接到服务器并检索web令牌),对此我有多个问题:

  • 在Android本地存储这种令牌的首选方式是什么?
  • 是否有一个库,允许我加密它并安全地存储在SharedPrefs上,而不需要单独存储密钥和盐的加密?
  • 将令牌从LoginActive发送到Intent Extra内的其他活动是否安全?

此外,一个额外的问题是,通过将电子邮件/密码组合作为参数传递给此类类的方法,将它们从LoginActive发送到LoginViewModel,并最终发送到DataSource(Endpoint Interface等)是否安全。

提前感谢!

共有3个答案

伍胡媚
2023-03-14

在这种情况下使用客户经理。

https://developer.android.com/reference/android/accounts/AccountManager.html

您甚至可以跨应用程序共享您的帐户管理器,只要它们由相同的密钥库证书签名。

韦飞尘
2023-03-14
  1. 共享pref非常安全,只能由应用程序或root用户访问
  2. 不确定库,但你可以使用一些简单的ndk方法来加密/解密数据。它会给你带来额外的安全保障
  3. 如果你使用明确的意图是安全

附言:如果你的应用是银行客户端,那么你不应该遵循这个答案

栾峰
2023-03-14

SharedReferences最适合在本地存储数据。当你的应用程序在系统中存在时,数据就会出现,你可以轻松地访问整个应用程序。

context.get共享首选项(PREF_NAME,PRIVATE_MODE); mSharedEditor=mPreferences.edit();用于保存令牌

mSharedEditor.putString("FCM_TOKEN",fcmToken);
    mSharedEditor.commit();

**拿到代币**

mPreferences.getString("FCM_TOKEN",null)
 类似资料:
  • 基本上,我有两种方式将文件上传到firebase存储: null 我有一个onFinalize触发器,每次在firebase存储中存储新对象时都会调用该触发器。 在此触发器中,我希望为添加的特定对象创建一个firestore文档。 为了获取文件信息,我使用probe-image-size。 问题是我需要该文件的下载链接,而据我所知,如果没有storageAccessToken,我无法下载该文件。

  • 我正在实现一个需要身份验证的REST服务。我正在使用JWT。 现在,Android应用程序在登录时发送一个请求,获得一个令牌,并且必须在每个后续请求的头中发送令牌。 我的问题是,如何存储令牌,或者我应该将其存储在哪里? 共享偏好 SQLite数据库 归档 最好的做法是什么?还是我完全错了?

  • 我正在用Django和angular构建一个应用程序。目前,我正在本地存储上存储后端发布的JWT。但是,我担心XSS攻击。我应该使用仅HTTP cookie存储令牌吗?我还考虑将令牌存储在auth服务类的变量字段中。但我不能完全确定angular是否在整个应用程序中共享该服务。我的身份验证服务是否只有一个实例?

  • 问题内容: 我遇到一种情况,我想自己创建一个访问令牌(因此不能通过通常的过程)。我想出了这样的东西: 唯一的问题是我不确定如何创建OAuth2Authentication(在我的代码中带有xxx的部分)。我有用户和客户信息,我知道我想授予该令牌的单位。 问题答案: 在这里,根据使用的流程,您的用例可能会略有不同。这适用于密码授予流程。有一些自定义类,如令牌存储,令牌增强器等。但这实际上只是为满足我

  • 我有一个react/Gatsby web应用程序,它使用Aws Cognito身份验证。该应用程序调用aws api网关上托管的几个rest api,该网关再次使用Cognito Authorizer。当用户第一次登录到发送到api网关的每个请求的授权头时,我需要传递cognito发出的身份验证jwt令牌。我应该把代币安全地存放在哪里? 谢谢,

  • 我正在尝试从应用程序服务中获取Google的刷新令牌,但我不能。 日志说 2016-11-04T00:04:25 PID[500]收到的详细请求:获取https://noteappsvr.azurewebsites.net/.auth/login/google?access _ type = offline 2016-11-04t 00:04:25 PID[500]从https://account