Tag: authentication

被拒绝的应用程序:17.2:需要用户共享个人信息的应用程序

前言: 我知道这个问题早在这里就已经提出过了,但是这些post已经老了,我认为目前与苹果的决策无关。 拒绝原因: 17.2详情 我们注意到您的应用程序使用Facebooklogin进行身份validation,但不包括该网站提供的基于帐户的function,这是App Store上不允许的。 下一步 请修改您的应用程序以包含该社交networking的基于帐户的function或使用您自己的身份validation机制。 我的App: 我的应用程序执行Facebook身份validation,并抓取用户的名字和个人资料图片,并显示在用户的自行决定(当用户执行某些function时)。 我向苹果说了两遍,他们回答说这还不够。 他们一直喋喋不休地说,我需要添加Facebook的“基于帐户的function”。 我请他们详细说明,这些是我给的例子: “适用时,实施朋友列表,社交图表和游戏分数是适当的。” 所以这些问题出现了: 如果我的应用程序不能从上面的例子中受益怎么办? 使用Facebook作为身份validation方法并获取基本数据有什么问题? 而踢球者 – 我可以实现的更多Facebook的“基于帐户的function”的例子将有资格使用Facebook身份validation的特权? 我相信我不会从苹果公司得到任何直接的答案,所以我呼吁这里的专家希望能够启发我。 提前致谢。

阻止使用标签栏控制器(storyboard)访问UIViewControllers

我目前遇到我的iOS应用程序的问题。 我正在尝试包含一个渐进的login模式,即:使用可以访问一些应用程序,而不需要login。 所需function如下: 在任何时候,用户都可以查看所有需要login的导航项目 当用户尝试访问需要login的uview(控制器)时,系统会提示用户使用UIAlertView提示用户login。(最好在应用程序识别发起的segue目的地被限制时显示UIAlertView)。 起初,我使用了UIViewController的一个子类,在指定的初始化程序(initWithCoder)中,将检查NSUserDefaults以查看用户是否已login。然后我将其从子类中删除。 局限性如下: 无法使用UIViewController的其他子类,即UITableViewController UIAlertView出现后视图出现,我假设会导致错误,如果子类UIViewController假定用户login。 问题摘要: 我想知道如何有条件地阻止用户访问某些UIView(控制器)和UIViewController的子类,当发生这种情况时提供一个UIAlertView。 更新1 类别和/或协议是否可以成为可行的解决scheme? 更新2 CodaFi指出,单身人士是pipe理用户状态的一个很好的解决scheme。 现在我需要弄清楚如何控制用户的访问。 当我使用故事板时,我觉得最通用的实现是inheritanceUIStoryboardSegue,并在执行方法上检查用户是否尝试访问受限制的UIViewController(也许受限制的控制器具有指定所需状态的协议属性:login/出)。 然而这里的缺点是你不能在故事板graphics编辑器中selectUIStoryboardSegue的类/子类。 我知道,我可以做的编程方式,但是,这似乎乏味,因为我将不得不添加IBActions和类似的执行segues的方法,此外,我不认为这将适用于像navigationController和tabbarControllers元素的行为方式。 有没有人有一个可行的解决scheme来限制用户的导航? 更新3 我已经为这个问题添加了一个答案,但是我仍然认为它没有答案,因为我写的答案没有考虑到导航栏控制器之间的差异。 但是它可能会帮助一些人。

将AFIncrementalStore与Auth令牌一起使用

我正在为App.net的iOS客户端工作,我想使用AFIncrementalStore将Web服务与我的Core Data实现同步到应用程序中。 我已经得到了这两个工作API请求,不需要身份validation令牌,但我不知道如何使用身份validation令牌与AFIncrementalStore。 换句话说,我能够拉下全球的饲料,因为它不需要授权: https://alpha-api.app.net/stream/0/posts/stream/global …但是,要获得用户的stream,你需要auth(你会注意到这个链接给出了一个错误): https://alpha-api.app.net/stream/0/posts/stream 我知道我需要追加一个auth_token API调用的结尾,但我不知道如何使用AFIncrementalStore做到这一点。 更新:这是当前获取全局stream的代码块: 这是从AFIncrementalStore中包含的示例App.net项目直接拉取的方法。 -(NSURLRequest *)requestForFetchRequest:(NSFetchRequest *)fetchRequest withContext:(NSManagedObjectContext *)context { NSMutableURLRequest *mutableURLRequest = nil; if ([fetchRequest.entityName isEqualToString:@"Post"]) { mutableURLRequest = [self requestWithMethod:@"GET" path:@"stream/0/posts/stream/global" parameters:nil]; } return mutableURLRequest; }

用于iPad应用程序的sskeychain和基本身份validation教程?

我在哪里可以find一个很好的详细教程使用sskeychain存储和检索用户名和密码,并在UIWebView中进行基本authentication? 其次,就存储和使用基于Web的应用程序的身份validation所需的方法而言,我是否正确? (请参阅下面的解释。) 我find了一些使用不同方法的教程: 直接与钥匙串交互 手工制作钥匙扣包装纸 (原文如此) SFHFKeychainUtils 根据以下其他SO问题的build议,推荐使用sskeychain,以便于使用钥匙串来存储validation参数。 cocoa接口到MacOS X钥匙串 https://stackoverflow.com/questions/8381072/save-username-and-password-for-url-like-gmail-com-iphone 我的计划是按照build议在设备上本地存储钥匙串中的用户名和密码,并使用基本身份validation通过UIWebView连接到我的PHP代码。 对于经验丰富的iOS开发人员推荐的用户身份validation主题,有没有一个好的一步一步的教程xcode / Obj-C新手? 苹果文档似乎不太有用。 它不是简单的销售术语就是页面,或者只是方法和参数的imploding描述而没有很多有用的例子。 更新: 我结束了使用NSUserDefaults本地存储的用户名和密码和AFNetworking库进行身份validation。 如果这些是不明智的,我会欢迎一个答案,提供一个更好的方法指导。

Firebase 3.2.0 – 创build用户的内部错误

我刚刚使用Firebase 3.2.0启动了一个新项目(Swift 2.2; iOS 9; Xcode 7.3.1),并且在input无效的电子邮件和弱密码时,作为我的授权/注册过程的一部分,出现以下错误: NSError Error Domain=FIRAuthErrorDomain Code=17999 "An internal error has occurred, print and inspect the error details for more information." UserInfo={error_name=ERROR_INTERNAL_ERROR, NSUnderlyingError=0x7c0549a0 {Error Domain=FIRAuthInternalErrorDomain Code=3 "(null)" UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey=<CFBasicHash 0x7c04bd90 [0x1a701f8]> {type = immutable dict, count = 3, entries => 0 : <CFString 0x7c0fb0c0 [0x1a701f8]>{contents = "errors"} = <CFArray 0x7c0713a0 [0x1a701f8]>{type = […]

使用AFNetworking重置基本authentication凭证

我正在编写一个REST客户端(使用AFNetworking),并且需要在应用程序的单个实例中触发创build新会话的function。 换句话说,我想: 1 – 与服务器进行身份validation 2 – 做一些REST呼叫 3 – 模拟“注销” 4 – 重新validation与服务器 5 – 做更多的REST电话 AFNetworking非常适合初始身份validation和REST调用,但我无法弄清楚如何清除会话并在同一个实例中“重置”连接。 当我使用ASIHTTP时,我只是这样做了: [ASIHTTPRequest clearSession]; 有没有办法做类似的AFNetworking?

有没有可能从一个网页(而不是一个Web应用程序)调用本机ios Facebooklogin对话框?

我们有一个使用本地Facebooklogin的iOS应用程序就好了。 然后我们也有一个网站(应用程序基本上是一个优化的客户端),人们也可以通过Facebooklogin。 当他们在移动Safari浏览器打开我们的网站,他们被引导到Facebook页面进行身份validation,它的工作原理,但是..它仍然远离本机和用户不得不重新input凭据,他们经常在ios中已经。 那么是否有可能以某种方式启动系统fb身份validation只是一个网页(也许使用一些聪明的url架构?),并获得授予令牌回networking?

需要Firebase重新validation

我们正在开发一个使用Google来validationFirebase的iOS应用。 根据https://www.firebase.com/docs/ios/guide/user-auth.html#section-login Firebase说,authentication令牌每24小时过期。 我们想知道下面的情况是否需要考虑: 用户通过Google和Firebase进行身份validation 我们的应用获取了24小时内过期的Firebase身份validation令牌 用户closures我们的iOS应用程序 在Firebase身份validation令牌过期前1分钟,用户重新打开该应用程序 一分钟后,我们向Firebase发出请求。 身份validation令牌已过期。 我们似乎必须通过https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication观察身份validation更改来重新validationFirebase。 但是,我们是否需要重新向上面#5的Firebase发出相同的请求? 另外,似乎我们可以在cancelBlock中重新进行身份validation: [ref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) { NSLog(@"%@", snapshot.value); } withCancelBlock:^(NSError *error) { NSLog(@"%@", error.description); // reauthenticate and then re-issue request? }]; 这不太理想,因为我们必须在我们提出请求的任何地方编写这个代码。 处理这种情况的最佳做法是什么? 当接近到期时,Firebase会自动刷新validation令牌吗?

RailsdeviseOmniAuth Facebook从iOSlogin

我一直在寻找这个问题的可靠解决scheme,并且遇到了这样一个与我的困境相匹配的问题,但并不完全一样。 目前我有我的iPhone应用程序通过基本身份validation与我的Rails API进行身份validation。 这只是您简单的一stream的deviseauthentication软件包。 然后我按照说明设置omniauth-facebook的devise,并得到了在浏览器端的工作。 我无法弄清楚如何做的部分是如何将在iPhone端(通过Facebook的iOS SDK)收到的令牌发送到服务器。 我希望服务器检查用户表,看看这个Facebook用户是否已经注册,并为他创build一个帐户,如果他没有。 然后,我想服务器会生成一个随机密码,并将其发送回客户端设备,这样我就可以保持相同的基本身份validation策略。 这是一个Web应用程序和iPhone应用程序的单一login的正确方法吗? 如何修改服务器端软件包以支持通过手机发送的令牌进行身份validation?

IOS相互authentication

我试图在IOS 5中实现相互authentication,但我有麻烦: {NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1200 \"An SSL error has occurred and a secure connection to the server cannot be made.\" UserInfo=0x18d830 {NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., _kCFNetworkCFStreamSSLErrorOriginalValue=-9800, _kCFStreamPropertySSLClientCertificateState=0, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSErrorFailingURLStringKey=https://192.168.24.110:8081/t01.json, kCFStreamPropertySSLPeerTrust=<SecTrustRef: 0xceaa2d0>, NSErrorFailingURLKey=https://192.168.24.110:8081/t01.json} 我为服务器生成密钥,证书和pkcs12(自签名或伪造的CA我总是有这个问题)和客户端这样: openssl […]