编码iOS基本身份验证

时间:2014-05-30 17:39:20

标签: ios authentication xpages nsurlrequest afnetworking-2

我需要针对iOS应用中的网页进行身份验证。

我将用户的用户名和密码存储在应用中。我可以使用以下网址访问该页面:

的https:/xxxxxxxxxxxx/names.nsf登录&安培;用户名= XXXXXXXX&安培;密码= xxxxxxxx3&安培; redirectto = websiteURL /布赖恩/ Approve.nsf / m_approval.xsp

当然我用用户的名字和密码替换xxxx。

但是,我知道这不是很安全,因为当我检查我的服务器时,我看到的是带有用户名和密码en clair的URL。从阅读和研究中我相信我应该使用Base64对URL进行编码然后发送。但我无法弄清楚如何做到这一点。

以下代码是尝试。我尝试更改URL以取出用户名密码,但这不起作用。

我真的很感激有关该怎么做的帮助。

      NSURL *url = [NSURL URLWithString:@"https://xxxxxx/"
                          @"names.nsf?login&username=xxxxxxxx&password="
                          @"xxxxxxxx3&redirectto=https://xxxxxx"
                          @"Bryan/Approve.nsf/m_approval.xsp"];

      NSString *authStr =
          [NSString stringWithFormat:@"%@:%@", @"xxxxxx", @"xxxxxxxx"];
      NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
      NSString *authValue =
          [NSString stringWithFormat:@"Basic %@", [authData base64Encoding]];

     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
      [request setValue:authValue forHTTPHeaderField:@"Authorization"];
      [self.webView loadRequest:request];

1 个答案:

答案 0 :(得分:2)

两件事:
 1.使用Base64进行编码只是一种编码,它不是加密,也没有安全性  2.由于您使用的是https,因此连接是安全的。为什么你觉得你需要更多的安全性。

真正的安全问题是如何在应用程序和服务器中保护密码。