gpt4 book ai didi

ios - 验证 Facebook/Twitter 连接的最佳实践。 (防止逆向工程 key )

转载 作者:行者123 更新时间:2023-11-29 02:22:57 25 4
gpt4 key购买 nike

我可能对整个过程总体上有点偏执,但我想做正确的事情以确保只有合法用户才能为我们的服务创建帐户,我们不包括嵌入在我们的二进制文件中的 api secret 可能是“逆向工程”

我们想实现一键式的“Sign In With Twitter”和“Sign in With Facebook”,我们可以使用各自的SDK来获取authToken。

例如:

通过 Twitter:

如此处所述https://dev.twitter.com/twitter-kit/ios/twitter-login提供来自 SDK 的以下信息,

authTokenproperty
authTokenSecretproperty
userNameproperty
userIDproperty

但我必须将 key 嵌入[[Twitter sharedInstance] startWithConsumerKey:@"your_key"
consumerSecret:@"your_secret"];

我们要验证这个authToken实际上是合法的,我们的服务器需要验证这个信息。构建整个流程的正确方法是什么?

使用Facebook:

FBSession *session = [[FBSession alloc] initWithAppID:APP_ID permissions:permissions
urlSchemeSuffix:nil tokenCacheStrategy:[[FBSessionTokenCachingStrategy alloc]
initWithUserDefaultTokenInformationKeyName:@"TEST"]];`

如果黑客能够对这个 APP_ID 或 Twitter key 进行逆向工程,我们如何才能在我们的服务器上验证此信息以确保这实际上是合法的?

最佳实践是什么?

最佳答案

让我们暂时解决这个问题。恶意用户完全控制了客户端的副本(情况总是如此),他们可以用它做什么?

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

您还看到了哪些其他威胁?如何使用这些权限以及如何利用它们?

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

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

关于ios - 验证 Facebook/Twitter 连接的最佳实践。 (防止逆向工程 key ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27913151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com