ios开发使用BasicAuth认证方式-创新互联

我们app的开发通常有2种认证方式   一种是Basic Auth,一种是OAuth;现在普遍还是使用OAuth的多,而使用Basic Auth认证的少,正好呢我今天给大家介绍的就是使用的比较少的Badic Auth认证方式,这种认证方式开发和调试简单, 没有复杂的页面跳转逻辑和交互过程,更利于发起方控制。然而缺点就是安全性更低,不过也没事,我们可以使用https安全加密协议,这样才更安全。

创新互联是专业的源汇网站建设公司,源汇接单;提供成都网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行源汇网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

    我使用的是AFNetworking发送的网络请求,因此我们用Basic Auth认证方式就不能再使用AFN的默认的GET或者POST请求,而是自己定义的NSMutableRequest请求,使用AFN发送,如下面代码:

[objc] view plain

  1. //http的get请求地址

  2.    NSString *urlStr=[NSString stringWithFormat:@"https://192.168.1.157:8443/v1/sms/send/%@",self.username.text];

  3.    NSURL *url = [NSURL URLWithString:urlStr];

  4.    //自定义的request

  5.    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

  6.    //请求过期时间

  7.    request.timeoutInterval = 10;

  8.    //get请求

  9.    request.HTTPMethod = @"GET";

  10.    //配置用户名 密码

  11.    NSString * str = [NSString stringWithFormat:@"%@:%@",@"lairen.com",@"sdclean.com"];

  12.    //进行加密  [str base64EncodedString]使用开源Base64.h分类文件加密

  13.    NSString * str2 = [NSString stringWithFormat:@"Basic %@",[str base64EncodedString]];

  14.    [request setValue:str2 forHTTPHeaderField:@"Authorization"];

  15.    AFHTTPRequestOperation *op=[[AFHTTPRequestOperation alloc]initWithRequest:request];

  16.    //设置返回数据为json数据

  17.    op.responseSerializer= [AFJSONResponseSerializer serializer];

  18.    //发送网络请求

  19.    [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

  20.        NSLog(@"%@",responseObject);

  21.    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

  22.         NSLog(@"%@",error);

  23.    }];

  24.    //请求完毕回到主线程

  25.    [[NSOperationQueue mainQueue] addOperation:op];

   使用Basic Auth认证方式,AFN发送网络请求就是上述代码的格式,其中代码的一些难懂的点,我在下图做了注释;

ios开发使用Basic Auth 认证方式

   我注释的第一个是用户名,第二个是密码,这个使我们Basic Auth认证方式必须设置的请求头,然后第三个呢是我们为了我确保安全把用户名和密码的字符串进行了Base64加密,使用的2个文件是开源的Base64.h  Base64.m 。github上面就可以下载。

 上述代码中的这行是对字符串进行的加密,记住是使用的Base64.h分类方法进行的加密,一定要先导入Base64.h文件才可以这样加密。

[objc] view plain

  1. [str base64EncodedString]

[objc] view plain

  1. NSString * str2 = [NSString stringWithFormat:@"Basic %@",[str base64EncodedString]];

ios开发使用Basic Auth 认证方式

 到这里我们的Basic Auth认证方式就讲完了,怎么样,很简单吧。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:ios开发使用BasicAuth认证方式-创新互联
URL分享:http://ybzwz.com/article/cdhcsc.html