在Facebook IOS SDK中禁用单点login(SSO)
我们已经构build了一个使用Facebook SDK的iOS应用程序。 不幸的是,我们的客户要求我们禁用应用程序中的背景,这意味着Facebook单点login(SSO)scheme不适用于我们(因为我们的应用程序现在从login/授权在Facebook应用程序)。
所以问题是:我们是否可以在Facebook iOS SDK中禁用SSO,使其行为与旧版SDK中的Facebooklogin/授权在应用内networking视图中一样?
在FBconnect库中打开Facebook.m文件并find:
- (void)authorize:(NSArray *)permissions delegate:(id<FBSessionDelegate>)delegate {
组:
[self authorizeWithFBAppAuth:NO safariAuth:NO];
和FBconnect将只授权与内popup…
我不知道你可以禁用SSO或不,但我有一个技巧来做到这一点(每次需要在Facebook上login证书)。
在idFinishLaunchingWithOptions
方法中写入这些行
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie* cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) { NSString *domainStr=(NSString *)[cookie domain]; NSLog(@"%@",domainStr); if([domainStr isEqualToString:@".facebook.com" ]) { [cookies deleteCookie:cookie]; }
[self authorizeWithFBAppAuth:NO safariAuth:NO];
在调用Facebookauthentication过程之前,您可以保存您的应用程序的状态。 但如果FB应用程序在您的用户的电话上,
[facebook authorize:permissions delegate:self]
将把你redirect到它。
但是如果你只有基本的需求,你可以使用FB SDK的webview部分。 使用:
[facebook authorize:permissions delegate:self]
将使FB SDK显示一个webview,它将负责授权过程。
- 如何在iOS中使用SSO实现Fabcebooklogin对话框提示?
- 比较audio文件的“语音身份validation”
- 将两个login系统集成到一个应用程序
- 是否可以在iOS应用程序的twitter中login,而不是使用存储在设备设置中的Twitter帐户?
- 尝试调用canOpenURL的iOS 9上的Googlelogin崩溃
- 认识用户是否已经在iOS 6设置中定义了本地的Facebook帐户
- Facebooklogin使用FBSessionLoginBehaviorForcingWebView
- Facebooklogin和Googlelogin之间的冲突 – iOS
- Facebook SDK使用Swift 3 iOS 10login