iOS 上的增强身份验证对话框未完成登录流程
Posted
技术标签:
【中文标题】iOS 上的增强身份验证对话框未完成登录流程【英文标题】:Enhanced auth dialog on iOS doesn't complete login flow 【发布时间】:2011-09-29 19:03:16 【问题描述】:我有一个使用 Facebook SDK 进行授权的 ios 应用。现有应用程序不要求 manage_actions 权限。我正在使用相当标准的代码来启动登录流程:
NSArray permissions = [NSArray arrayWithObjects: @"email", @"publish_stream", @"user_education_history", @"rsvp_event",@"user_events,user_interests", nil];
[self.model.facebook authorize:permissions];
当我在 FBDev 应用程序中启用增强的身份验证对话框然后尝试登录我的应用程序时,我看到一个新的移动身份验证对话框提示我添加到时间轴。但是,单击此屏幕上的按钮不会执行任何操作。它不会显示错误,也不会返回到我的应用程序。
对于使用新身份验证对话框的此流程是否有任何已知问题或解决方法? (在装有 iOS 4.3 的 iPad 上看到这个)
谢谢,
编辑:还有一个细节,我在使用 Facebook 应用程序登录时看到了这一点,我还没有使用 Safari 尝试过。
【问题讨论】:
有什么想法吗?卡住的是 Facebook 应用程序,而不是我的应用程序。但是,如果在星期一为每个人打开增强的身份验证对话框,这将完全阻止用户登录我的应用程序。当我单击“登录”按钮时,页面会闪烁,但它不会像旧的身份验证对话框那样切换回我的应用程序。 【参考方案1】:这可能是因为我没有通过 DevApp 设置 Bundle ID。
在 DevApp 的 Settings -> Basic -> Native iOS App 部分中设置 iOS Bundle ID 后,我已不再被增强型身份验证对话框阻止。
【讨论】:
【参考方案2】:在Facebook.m
你有这个方法:- (void)authorizeWithFBAppAuth:(BOOL)tryFBAppAuth safariAuth:(BOOL)trySafariAuth
。您可以尝试在方法的开头将tryFBAuth
和trySafariAuth
都设置为NO
。
【讨论】:
以上是关于iOS 上的增强身份验证对话框未完成登录流程的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 使用 auth0 删除同意对话框 3rd 方身份验证