Tag: 身份validation

原生Facebooklogin体验通过浏览器

我已经看到了这个问题的几个口味,但没有确切的具体,也没有答案,所以试图自己。 我试图通过浏览器build立Facebooklogin体验到我的基于Facebook的应用程序,这将要求用户不要忘记他们的密码尽可能。 这意味着如果 他们通过他们的桌面浏览器login并且已经login,它只会要求他们“确定”权限 他们从他们的移动浏览器login,并通过他们各自的本地应用程序(Android / iOS)login,它将简单地redirect到本机应用程序,请求应用程序的权限,并redirect到浏览器上的成功页面 他们从任何浏览器login,目前没有以任何formslogin到Facebook,他们必须input密码和身份validation(无论是本地或通过浏览器,这并不重要) 我知道如何做第一个 – 这是非常简单的使用JS SDK。 第二点是更难的一点。 我知道现有的Android和iOS定制URLscheme,但没有具体的真正提到如何可以用于Facebook应用程序的身份validation和/或授权。 有没有人有任何想法如何做到这一点? 谢谢!

供应configuration文件,证书,应用程序ID和密钥之间的关系

现在我只是试图在我的手机上testing我的应用程序,而不是部署到商店。 这些事情是如何相关的? 由于我没有尝试上传到商店,我可以忽略其中的任何一个吗? 我在大学开发计划。 我能得到一个证书,并将其安装在Xcode中,但构build仍然失败。 解决这个问题只是改变应用程序标识符的问题吗? 我怎么知道要放什么? 我注意到的一件事是,在Developer Portal中,我只看到一个App ID,但是对于名字不同的人来说。 所以我想我没有应用程序ID。 如果我只是想在我的手机上testing,我需要一个吗? 如果我需要一个,那么我怎么得到它? 帮帮我! 看来我研究这些东西越多,我就越困惑。 如果你不能解决我的问题,至less能告诉我这些事情是如何相互关联的?

将钥匙链中的.p12证书存储在稍后使用

我想在这里跟随苹果文档处理客户端p12证书: https://developer.apple.com/library/ios/documentation/Security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW13 我已成功从文件系统加载.p12证书: – (SecIdentityRef)getClientCertificate:(NSString *) certificatePath { SecIdentityRef identity = nil; NSData *PKCS12Data = [NSData dataWithContentsOfFile:certificatePath]; CFDataRef inPKCS12Data = (__bridge CFDataRef)PKCS12Data; CFStringRef password = CFSTR("password"); const void *keys[] = { kSecImportExportPassphrase }; const void *values[] = { password }; CFDictionaryRef options = CFDictionaryCreate(NULL, keys, values, 1, NULL, NULL); CFArrayRef items = CFArrayCreate(NULL, 0, 0, […]

由于帐户权限,validation失败

我已经通过iTunesConnect被团队pipe理员添加为团队成员,我正在尝试创build一个存档并进行validation。 它失败,因为标题说: 另外,如果我尝试让Xcode自动修复,我得到这个错误: 团队代理在iTunesConnect中创buildiOS分发configuration文件,根据文档,团队成员实际上不能创build证书: 但这就是为什么Team Admin为我创build它们的原因,但是看起来我的Xcode试图创build证书,而不是下载和使用它们(同时validation归档)。 任何ide为什么会发生这种情况,以及如何validation档案并上传到iTunesConnect?

如何设置Firebase安全规则以仅接受来自iOS应用的连接

我想configuration一个Firebase数据库,以便它只接受来自我的iOS应用程序的连接。 我在configuration规则来pipe理来自authentication用户的访问等方面没有问题,但是我想知道什么是防止来自其他应用程序的连接的最佳方法。 我怎样才能做到这一点? 要更具体到用户案例。 我的应用程序是一个服务,用户可以注册使用它与Twitter和Facebookauthentication。 用户将为该服务付费,该应用将使用Firebase作为后端,这意味着我将为Firebase服务付费。 用户支付我,我支付Firebase。 所以这就是我只希望我的App是唯一连接和使用Firebase数据库的原因。 我认为这是常见的情况。 作为Parse的其他后端服务,允许您在应用程序连接时使用密钥来执行此操作。

更改Firebase的包ID

在这个项目的早期,我做了在bundle标识符中没有前缀com的错误。 现在我准备好testing航class了,我有一个无效的包标识符。 目前,我的包标识符是mycompany.myProject但我希望它是com.mycompany.myproject 。 我没有任何问题切换到所需的捆绑ID的归档应用程序,并上传到应用程序商店。 我将应用程序切换到相应的包标识符的步骤: 使用正确的套件ID在Firebase控制台中创build新的应用程序。 下载这个新的应用程序的Google-Info.plist并放置在项目的根目录下,拖入Xcode项目。 更改Facebook上的包标识符 在项目设置中更改包标识符 但是,该应用程序崩溃致命的这个错误。 *** Terminating app due to uncaught exception 'InvalidPathValidation', reason: '(child:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']'' 发生此错误的时间点是在调用Firebase方法时 – (NSString *) getUid { return [FIRAuth auth].currentUser.uid; } 此方法返回nil ,提供从Firebase检索数据的方法。 此方法的nil返回导致InvalidPathValidation错误。 我正在与Facebook进行身份validation。 我想也许这是返回nil的原因是,该应用程序不知道谁login,因为我从来没有提示login(我的应用程序检查,如果你通过Facebook viewWillAppear在开放的ViewControllerlogin)。 然而,这是没有道理的,因为我所做的唯一更改就是更改包ID。 我一直被困在这个问题上差不多一个星期。 我特别想知道我需要更改哪些Firebase才能接受捆绑标识符更改。

iOS:Googleauthentication码

我正在validation用户身份,以使用他所关联的Google帐户。 问题是,每当用户通过我的应用程序login,“允许访问”总是出现在谷歌的身份validation视图,即使我点击了从以前的testing已经允许访问。 这是正常的,还是我做我的代码错了? 请帮帮我吧。 我在下面的代码中使用了下面的代码: – (IBAction)signIn:(id)sender { if(!isSignedIn){ [self signOutFromAll]; NSString *keychainItemName = nil; // save keychain keychainItemName = kKeychainItemName; NSString *scope = @"https://www.googleapis.com/auth/plus.me"; NSString *clientID = kClientID; NSString *clientSecret = kClientSecret; SEL finishedSel = @selector(viewController:finishedWithAuth:error:); GTMOAuth2ViewControllerTouch *viewController; viewController = [GTMOAuth2ViewControllerTouch controllerWithScope:scope clientID:clientID clientSecret:clientSecret keychainItemName:keychainItemName delegate:self finishedSelector:finishedSel]; [[self navigationController]pushViewController:viewController animated:YES]; } else { [self […]

处理Game Centerauthentication

根据苹果文档,我们应该这样做来处理GCauthentication: – (void) authenticateLocalUser { GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; if(localPlayer.authenticated == NO) { [localPlayer setAuthenticateHandler:(^(UIViewController* viewcontroller, NSError *error) { if (!error && viewcontroller) { DLog(@"Need to log in"); AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; [appDelegate.window.rootViewController presentViewController:viewcontroller animated:YES completion:nil]; } else { DLog(@"Success"); } })]; } } 我们给了这个信息: 如果设备没有authentication播放器,则游戏套件将视图控制器传递给您的authentication处理器。 呈现时,此视图控制器显示authentication用户界面。 你的游戏应该暂停其他需要用户交互的活动(比如你的游戏循环),呈现这个视图控制器然后返回。 当玩家完成与其交互时,视图控制器被自动解除。 我的问题是,我们如何知道这个视图控制器何时被解散,我们如何知道身份validation是否成功? 很明显,我需要知道身份validation是否正常工作,如果因为神奇的GC视图控制器的提示而不得不暂停游戏,我需要知道什么时候恢复游戏。

如何处理IOS中的用户身份validation持久性?

我试图为我的iPhone应用程序和服务器build立基础。 我有用户将注册并从iPhone应用程序login。 在正常的网站login中,http服务器将提供cookie以允许用户的后续请求保持authentication。 我应该如何在iPhone上处理这个问题? 我应该只发送用户/密码每一次我有一个NSURLConnection GET或POST? 这似乎过度。 或者我使用ASIHTTPRequest框架来使用Cookie。 任何人都可以指出我正确的实施方向吗? 谢谢!

iOS游戏中心 – 在一台设备上的validation错误

在我的其中一台设备(运行iOS7的iPad mini)上,当我尝试在Game Center中进行身份validation时,出现了一个可怕的错误: Authentication Error: Error Domain=GKErrorDomain Code=2 "The requested operation has been cancelled or disabled by the user." UserInfo=0x15ef0f00 {NSLocalizedDescription=The requested operation has been cancelled or disabled by the user.} 我清楚地login到游戏中心。 我已经完全从设备上抹去了应用程序,甚至从Xcode删除应用程序后,我仍然得到错误。 我可以login与其他设备没有问题。 我在不同的设备上login了相同的GC帐户。 这只是在这个特定的设备上,它不会authentication我的应用程序,也不会在游戏中心应用程序的“游戏”列表中显示。 有什么build议么?