首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证Facebook/Twitter连接的最佳实践。(防止反向工程密钥)

验证Facebook/Twitter连接的最佳实践。(防止反向工程密钥)
EN

Stack Overflow用户
提问于 2015-01-13 00:31:14
回答 3查看 222关注 0票数 0

我对整个过程可能有点多疑,但我想做正确的事情,以确保只有合法的用户才能为我们的服务创建帐户,我们不包括嵌入在二进制文件中的(可能是反向工程的)。

我们想做一个‘使用推特登录’和“登录到Facebook",我们可以使用各自的authToken。

例如:

Twitter

正如这里提到的,https://dev.twitter.com/twitter-kit/ios/twitter-login从SDK中提供了以下信息,

代码语言:javascript
复制
authTokenproperty
authTokenSecretproperty
userNameproperty
userIDproperty

但是我必须将密钥嵌入到[[Twitter sharedInstance] startWithConsumerKey:@"your_key" consumerSecret:@"your_secret"];中。

我们希望验证这个authToken实际上是合法的,我们的服务器需要验证这个信息。怎样才是设计整个过程的正确方法?

Facebook合作

代码语言:javascript
复制
FBSession *session = [[FBSession alloc] initWithAppID:APP_ID permissions:permissions
 urlSchemeSuffix:nil tokenCacheStrategy:[[FBSessionTokenCachingStrategy alloc]
 initWithUserDefaultTokenInformationKeyName:@"TEST"]];`

如果黑客能够反向设计这个APP_ID或Twitter,我们如何在我们的服务器上验证这个信息,以确保这实际上是合法的?

它的最佳实践是什么?

EN

回答 3

Stack Overflow用户

发布于 2015-01-13 00:59:51

让我们把这个问题转过来一会儿。恶意用户完全控制了客户端的副本(总是这样),他们能用它做什么呢?

攻击者可以通过您的客户端使用他们控制的任何帐户进行身份验证。然后,他们可以使用您的凭据进行Twitter/Facebook调用。这有问题吗?由于攻击者拥有这些帐户的凭据,因此无法为他们提供任何他们尚未拥有的控制。他们可以用它来耗尽API的速率限制,他们的活动可能显示来自你的应用程序,但没有什么可以做的,以阻止这一点,同时仍然允许使用你的应用程序。也许它提供了一个使您的API凭据可更新的理由,但是任何更新都会发送给善意的和恶意的用户。

你还看到了什么威胁?如何使用这些权限,以及如何利用这些权限?

您是否识别使用这些帐户的用户?控制客户端的攻击者可以使用它生成带有假凭据的新帐户,或者试图控制其他用户的帐户吗?

您是否正在存储或传输由此产生的oauth会话凭据?攻击者能拦截它们以控制其他用户帐户吗?

票数 1
EN

Stack Overflow用户

发布于 2015-01-13 01:02:14

关于保护消费者的秘密等安全问题,这里还有一个非常好的答案:How to keep the OAuth consumer secret safe, and how to react when it's compromised?

回答另一个问题,验证后端的用户身份:您应该做的是将代表用户使用twitter或facebook所需的auth令牌传输到后端(当然,最好是通过SSL等安全方式),并从后端发出类似于GET /v2.2/me (facebook )的请求。现在,您可以比较这些数据,并知道用户确实为您提供了一个真实的facebook或twitter帐户。

票数 0
EN

Stack Overflow用户

发布于 2015-01-13 17:36:45

Twitter/FB为用户提供标识,但不提供应用程序。您应该为客户端应用程序提供单独的凭据(以告诉服务器端这是一个受信任的应用程序)。在这种情况下,服务器端可以信任应用程序的通信。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27913151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档