iOS - 关于登陆后获取访问服务器通行证 (Token / session)

本文介绍了两种服务器权限管理方案:Token和Session。Token方案通过返回一个唯一的通行证进行身份验证;Session方案则通过HTTP请求头中包含的Session信息来实现用户会话管理。文章详细讲解了如何保存和使用这些通行证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


上班一段时间 遇到过不同的服务器人员 就会有不同访问权限的要求 

有的人要用Token噜 有的人要用session噜 现在庒美丽姐姐告诉你这两种方法的解决方案噜 


1⃣️: Token  

一般当你登陆成功,服务器人员将直接返回给你一个Token串(每次登陆获取的都是不同的值),获取之后,记得用NSUserDefault把这个通行证存起来,这样全局都可以使用,下次登陆,只要更新NSUserDefault里面的value值就可以了。或者你们有什么好方法存取,只要可行都是可以的噜。


模拟一个登陆成功后 服务器返回的参数:

返回:
{
  "status": true,              /* 表示登入成功 */
  "user_id": "1",
  "user_name": "Sue",
  "token": "OZKrPw-3fxHJ8attaHhuvRZJ25B24IUBFPJPx-RN11x.eHmXpLGE6dLfLaicbLVp"   
        /** 这是所有商户API的通行码(Access Token),需要储存下来 **/
}

用您能想到的方法保存下来 可以用NSUserDefault 也可以存档 看你们喜欢!



2⃣️ Session

    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    
    mgr.requestSerializer.timeoutInterval = 7;
    
    [mgr POST:loginURL parameters:@{@"phone":phoneNum,@"password":password,@"phone_type":@"1",@"udid":@"cbx1323l4nvbk42x2g3h4v2k34c23c"} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    
        NSLog(@"%@",responseObject);
        
        
        NSHTTPURLResponse * response = (NSHTTPURLResponse *)task.response;
        NSLog(@"%@",response.allHeaderFields);
        
        //获取到请求头文件 里面包含着session的信息
        NSDictionary * resposeDic = response.allHeaderFields;
        
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        //具体字典里面的key命名是什么 还是得按照你们伟大的服务器人员来
        [defaults setObject:resposeDic[@"Session_ID"] forKey:@"Session_ID"];
        [defaults synchronize];
   
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        NSLog(@"登陆超时");
        
        block(@{@"error":@"1"});
        
    }];
    


//下次使用 只要
        NSUserDefaults *defaults1 = [NSUserDefaults standardUserDefaults];
        NSString * session = [defaults1 objectForKey:@"Session_ID"];

//删除
        [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Session_ID"];
        [[NSUserDefaults standardUserDefaults] synchronize];


所以 遇到喜欢用Token的服务器人员 真是要贴心地给一个么么哒啦 微笑  

还有 哪里说错了 农村小妹请高手指正 谢谢!微笑



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值