相关疑难解决方法(0)

移动应用中的OAuth秘密

使用OAuth协议时,您需要从要委派的服务获取的秘密字符串.如果您在Web应用程序中执行此操作,则可以将秘密存储在数据库或文件系统中,但在移动应用程序(或桌面应用程序)中处理此问题的最佳方法是什么?

在应用程序中存储字符串显然不是很好,因为有人可以很容易地找到并滥用它.

另一种方法是将其存储在您的服务器上,并让应用程序在每次运行时获取它,而不是将其存储在手机上.这几乎一样糟糕,因为您必须在应用程序中包含URL.

我能想到的唯一可行解决方案是首先正常获取访问令牌(最好使用应用程序内部的Web视图),然后通过我们的服务器路由所有进一步的通信,这将秘密附加到请求数据并进行通信与提供者.再说一次,我是一个安全菜鸟,所以我真的很想听听一些知识渊博的人对此的看法.在我看来,大多数应用程序都没有这么长时间来保证安全性(例如,Facebook Connect似乎假设您将秘密放入应用程序中的字符串中).

另一件事:我不相信最初请求访问令牌的秘密,所以可以在不涉及我们自己的服务器的情况下完成.我对么?

security iphone mobile android oauth

130
推荐指数
5
解决办法
3万
查看次数

在React Native中保存敏感数据

我正在构建一个React Native应用程序,我需要保存一些敏感数据,如令牌和刷新令牌.显而易见的解决方案是使用AsyncStorage保存该信息.问题是AsyncStorage的安全级别.

AsyncStorage提供了一种本地存储令牌和数据的方法.在某些方面,它可以与LocalStorage选项进行比较.在完整的生产应用程序中,建议不要直接访问AsyncStorage,而是使用抽象层,因为AsyncStorage与使用相同浏览器的其他应用程序共享,因此从存储中删除所有项目的不当可能会影响相邻应用程序的功能.

https://auth0.com/blog/adding-authentication-to-react-native-using-jwt/

在本机应用程序,我会去KeychainiOS,并Shared Preferences私人模式Android.

对于我在React Native提供的文档中读到的内容:

在iOS上,AsyncStorage由本机代码支持,该代码将小值存储在序列化字典中,将较大值存储在单独的文件中.在Android上,AsyncStorage将根据可用内容使用RocksDB或SQLite.

https://facebook.github.io/react-native/docs/asyncstorage.html

他们从不谈论数据的安全性.

这是创建模块Android(Shared Preferences私有模式下使用)和另一个iOS(使用Keychain)来保存敏感数据的最佳解决方案吗?或者使用AsyncStorage提供的方法是否安全?

android ios react-native

45
推荐指数
3
解决办法
2万
查看次数

如何在React Native应用程序中保持客户端JSON Web令牌安全?

我们正在为iOS构建一个React Native应用程序,我们正在使用基于node + express + jsonwebtoken构建的内部API.

当用户使用用户名/密码登录时,服务器会验证这些凭据并向客户端发回JSON Web令牌,然后必须将这些令牌与每个API请求一起发送.因此,React本机应用程序必须存储此令牌.

如何在React本机应用程序中安全地存储此客户端令牌?除了将令牌存储在变量中之外,是否还需要采取任何其他步骤?

security token json-web-token react-native

11
推荐指数
2
解决办法
8679
查看次数

在private-native中存储私有数据的最佳方法是什么?

如何remember me通过反应应用程序进行身份验证时实现功能?我认为未加密AsyncStorage并不是最好的方法,因为数据对用户是开放的.我试图使用realm,但陷入了无法在Android中使用expo测试应用程序解决的问题.它说我需要为android编译本机代码并编辑它(在MainApplication.js中添加领域对象创建).我还不想在尚未发布的情况下编译我的项目.instagram和其他RN-apps如何存储身份验证数据?什么是最好的方法?

javascript database keychain react-native expo

5
推荐指数
2
解决办法
3632
查看次数