原创Blog,转载请注明出处
blog.csdn.net/hello_hwc
前言:可能在公司工作时间长了,以至于iOS都习惯性的写成了IOS,既然上一篇文章里一同学提出来了,我就改过来吧。本文介绍下服务器认证的流程,我对于服务器端的了解很少,所以如果有不准确的地方,欢迎指正,我会及时进行修改。
简单来说就是服务器上存储了很多资源,这些资源不是客户端都能访问的,客户端要访问资源的时候,要先让服务器知道,这些资源我可以访问,这就是一个认证和授权的过程。
注意:具体情况和服务器端的设计有关系,并不是所有的都是这样的
常见的是发动到手机上的动态密码。
BTY:
当服务器发现客户端登录异常的时候,会给App发送一张图片作为验证码。
常见两种方式
简单来说就是每次API请求都需要包括用户名密码,用户名密码作为http header的一行。
IOS的代码也比较简单
注意如下代码仅仅是加了一个授权的Header,如果要正常使用,通常还需要其他的header
NSString *username = @"";
NSString *password = @"";
NSMutableURLRequest * request = nil;
NSString *basicAuthStr = [NSString stringWithFormat:@"%@:%@",username,password];
NSData * basicAuthData = [basicAuthStr dataUsingEncoding:NSASCIIStringEncoding];
NSString * basicAuthValue = [NSString stringWithFormat:@"Basic %@",[basicAuthData base64EncodedDataWithOptions:0]];
[request setValue:basicAuthValue forHTTPHeaderField:@"Authorization"];
主要包括四个部分
大概的流程是这样的
以新浪微博的OAuth 2为例
第三方应用要访问新浪微博为例
原文地址:http://blog.csdn.net/hello_hwc/article/details/45286951