【发布时间】:2016-08-08 18:53:14
【问题描述】:
Facebook 文档指出
App Secret 或 App Access 令牌不应包含在任何 除开发人员之外的任何人都可以访问的代码 应用程序。这适用于所有不安全的代码方法,例如 客户端代码(例如 HTML 或 Javascript)或本机应用程序(例如 iOS、Android 或 Windows 桌面应用程序)可以被反编译。 https://developers.facebook.com/docs/facebook-login/security#appsecret
因此,如果您在应用程序的高级设置下的“应用程序类型” Dashboard 设置为 Native/Desktop 我们假设您的原生应用 在二进制文件中包含 App Secret 或 App Access Token,我们 不允许使用应用访问令牌签名的呼叫继续进行。 API 就像没有提供访问令牌一样。
因此,如果您将 App Secret 嵌入您的应用并告知 Facebook,它只会停止使用 OAuth(我也对此进行了测试,当您选中该选项时,Facebook 会停止验证该密钥)。
但 Xamarin.Auth 1.3(最新稳定版)需要 clientSecret(在 OAuth2Authenticator 类中 clientSecret 是必需的参数)并在用户成功登录时使用它来获取 Facebook 访问令牌。
这是一个错误,是否有解决方法,或者 Xamarin.Auth 目前对 Facebook 无用?
【问题讨论】:
-
我使用基于非ClientSecret 的构造函数为您添加了一个单独的答案...很高兴您可以正常工作 ;-)
标签: facebook xamarin facebook-oauth xamarin.auth