Facebook 文档指出
App Secret 或 App Access 令牌不应包含在除应用程序开发人员之外的任何人都可以访问的任何代码中。这适用于所有不受保护的代码方法,例如可以反编译的客户端代码(例如 HTML 或 Javascript)或本机应用程序(例如 iOS、Android 或 Windows 桌面应用程序)。https://developers.facebook.com/docs/facebook-login/security#appsecret
因此,如果您在 App Dashboard 的 Advanced Settings 下的“App Type”设置为 Native/Desktop,我们假设您的原生应用在二进制文件中包含 App Secret 或 App Access Token,并且我们不允许使用签名的调用应用访问令牌以继续。API 的行为就像没有提供访问令牌一样。
因此,如果您在您的应用程序中嵌入 App Secret 并将其告知 Facebook,它将停止使用 OAuth(我也对此进行了测试,当您选中该选项时,Facebook 将停止验证该密钥)。
但是 Xamarin.Auth 1.3(最新稳定版)需要 clientSecret(在 OAuth2Authenticator 类中 clientSecret 是必需的参数)并在用户成功登录时使用它来获取 Facebook 访问令牌。
那么这是一个错误,是否有解决方法,或者 Xamarin.Auth 目前对 Facebook 没用?