我正在将Facebook身份验证,注册和应用请求与我们的网络应用集成,使用Javascript SDK(管理FB按钮,对话框,客户端API等)和PHP SDK来处理已签名的请求,自动登录Facebook连接用户并使用API处理应用程序请求。我的大部分工作都很顺利,整个工作流程都可以接受。
我的问题是关于“电子邮件”扩展权限以及我是否需要它来保证注册插件期间返回的签名请求将包含用户的电子邮件。
我知道注册插件的当前限制(因为你不能要求扩展权限),但我需要 Facebook用户注册时的电子邮件。这样,用户可以根据非FB连接用户使用他们的FB凭证和标准电子邮件/密码登录。 (请不要只是建议我更改注册过程以允许用户在没有电子邮件的情况下注册 - 这是一个很难的要求,有几个很好的理由,我不会在这里讨论)。
目前,我正试图通过登录程序“屏蔽”Facebook注册,以强制用户在注册前提供“电子邮件”权限。但是,如果将其作为FB注册的前置步骤放置,并且/或者难以保证用户在到达FB注册表单之前已经完成此步骤,则这很笨拙。
是否有人确定是否确实需要“电子邮件”扩展许可才能保证在重新启动期间获取用户的电子邮件?我在Facebook(我的测试用户)中找不到任何可能阻止应用程序收到电子邮件的设置。我在注册表中包含电子邮件字段的事实是否保证我会在签名请求中将其恢复?
请注意,目前我们对扩展权限没有其他要求,因为我们需要它们,我们计划在需要时询问用户。
任何帮助/确认都会受到赞赏 - 我已经搜索过,但找不到这个问题的答案(虽然我当然可以错过它!)。
答案 0 :(得分:0)
在使用注册插件之前,您不应该要求您的用户授权应用程序,注册插件专门用于避免应用程序必须构建在自己的系统中,以便用户在将数据用于预填充之前授权应用程序形式。
如果您使用指定了fb_only
的注册插件并请求email
字段,则您在注册时会在签名请求回调中收到用户的电子邮件地址。
如果您允许用户使用插件注册,但不要求他们使用他们的Facebook数据,email
字段可以包含他们手动输入的任何电子邮件地址。
完整文档位于https://developers.facebook.com/docs/plugins/registration/