首页 文章

关于iPad应用程序的sskeychain和基本身份验证的教程?

提问于
浏览
4

我在哪里可以找到一个很好的详细教程,使用sskeychain来存储和检索用户名和密码,并在UIWebView中进行基本身份验证?其次,就基于Web的应用程序存储和使用身份验证所需的方法而言,我是否在正确的轨道上? (见下面的解释 . )

我找到了一些使用不同方法的教程:

根据以下其他SO问题的建议,建议使用sskeychain以便更轻松地使用钥匙串来存储身份验证参数 .

我的计划是在钥匙串在设备上本地存储用户名和密码的建议,并使用基本身份验证到我的PHP代码连接了一个UIWebView . 是否有经验丰富的iOS开发人员推荐的有关用户身份验证主题的xcode / Obj-C新手的详细分步教程?

Apple文档似乎不太有用 . 它既可以是简单的销售术语,也可以是方法和参数的头部描述,没有很多有用的例子 .

Update:

我最后只使用NSUserDefaults在本地存储用户名和密码,然后使用AFNetworking库进行身份验证 . 如果这些是不明智的,我会欢迎一个答案,为更好的方法提供指导 .

3 回答

  • 13

    如果您想进行基本身份验证,最好使用AFNetworking等网络服务 . 他们所有你创建一个webclient,传递用户名/密码组合,他们负责其余的工作 .

    此链接显示您需要调用的确切方法调用:http://engineering.gowalla.com/AFNetworking/Classes/AFHTTPClient.html#//api/name/setAuthorizationHeaderWithUsername:password

    还有一个大型社区和大量开发人员在所有类型的iOS项目中使用AFNetworking的例子 .

  • 3

    使用AFNetworking进行身份验证并调用服务器非常棒!不过,我会强烈建议您不要从存储 NSUserDefaults 凭据(用户名和密码),因为内容存储在一个plist中作为纯文本,并且可以仅仅通过将设备插入到Mac读取 . 我建议您查看these other questionsgreat post of a well-known case以获取有关该主题的更多详细信息 .

    你是正确的 Keychain 并使用SSKeychain简单快捷 . 你可以在how to use SSKeychain to locally store the credentials找到这个好例子 .

    // Store credentials in Keychain
    [SSKeychain setPassword:@"thePassword"
                 forService:@"com.yourCompany.yourApp"
                    account:@"theUserName"];
    
    // Retrieve credentials from Keychain
    NSString *password = [SSKeychain passwordForService:@"com.yourCompany.yourApp"
                                                account:@"theUserName"];
    
  • 2

    我建议你使用

    Lockbox

    它重量轻,与ARC配合使用,易于使用 .

相关问题