最佳答案
在使用 OAuth 协议时,需要从要委托给的服务获取一个秘密字符串。如果你是在一个网络应用程序中做这件事,你可以简单地将这个秘密存储在你的数据库或文件系统中,但是在一个移动应用程序(或者一个桌面应用程序)中处理它的最佳方式是什么呢?
在应用程序中存储字符串显然是不好的,因为有人可以很容易地找到它并滥用它。
另一种方法是将它存储在你的服务器上,并让应用程序在每次运行时获取它,而不是存储在手机上。这几乎同样糟糕,因为你必须在应用程序中包含 URL。
我能想到的唯一可行的解决方案是,首先像往常一样获得访问令牌(最好使用应用程序内部的 Web 视图) ,然后通过我们的服务器路由所有进一步的通信,这将附加到请求数据的秘密,并与提供商通信。不过话说回来,我是个安全新手,所以我真的很想听听一些知识渊博的人对此的看法。在我看来,大多数应用程序似乎并没有这么做来保证安全性(例如,Facebook Connect 似乎假设你在应用程序中将这个秘密放入了一个字符串中)。
另一件事: 我不认为最初请求访问令牌涉及到这个秘密,所以这可以在不涉及我们自己的服务器的情况下完成。我说的对吗?