美文网首页
iOS微博授权登录

iOS微博授权登录

作者: Geniune | 来源:发表于2020-08-05 15:50 被阅读0次

    微博开放平台:传送门
    官方提供的Demo:传送门


    第一步:申请微博开放平台移动应用

    先要在开放平台注册并创建应用并配置Bundle ID,这里就不赘述了
    应用创建成功后会获得AppKey,记录并备用

    第二步:集成SDK到工程

    将从GitHub上下载的libWeiboSDK文件夹添加至工程,SDK包含4个文件:
    WeiboSDK.h
    WBHttpRequest.h
    libWeiboSDK.a
    WeiboSDK.bundle

    另外还要引入以下系统库:
    QuartzCore.framework
    ImageIO.framework
    SystemConfiguration.framework
    Security.framework
    CoreTelephony.framework
    CoreText.framework
    UIKit.framework
    Foundation.framework
    CoreGraphics.framework
    libz.tbd
    libsqlite3.tbd
    WebKit.framework

    第三步:配置URL Scheme

    打开Xcode选择project → Info → URL Types → 新增一个,URL Schemes填wb+AppKey(例如AppKey为204543436852,则URL Schemes为wb204543436852)

    第四步:配置LSApplicationQueriesSchemes

    打开Xcode找到info.plist,右击选择open as → source code
    将下面代码添加进去:

    <key>LSApplicationQueriesSchemes</key>
    <array>
       <string>sinaweibohd</string>
       <string>sinaweibo</string>
       <string>weibosdk</string>
       <string>weibosdk2.5</string>
    </array>
    

    第五步: 向微博客户端程序注册并初始化

    使用第一步中获得的AppKey初始化WeiboSDK

    [WeiboSDK enableDebugMode:YES]; //设置调试模式
    [WeiboSDK registerApp:@"wb204543436852"];
    

    第六步:发起SSO客户端授权认证

    WBAuthorizeRequest *request = [WBAuthorizeRequest request];
    request.redirectURI = kRedirectURI;
    request.scope = @"all";
    
    request.userInfo = @{@"SSO_From": @"ViewControllerClassName",
                         @"Other_Info_1": [NSNumber numberWithInt:123],
                         @"Other_Info_2": @[@"obj1", @"obj2"],
                         @"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};
    [WeiboSDK sendRequest:request];
    

    在AppDelegate.m中获取回调

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
    
        return [WeiboSDK handleOpenURL:url delegate:self];
    }
    
    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    
        return [WeiboSDK handleOpenURL:url delegate:self ];
    }
    
    - (void)didReceiveWeiboResponse:(WBBaseResponse *)response{
        
        if ([response isKindOfClass:WBAuthorizeResponse.class]){
            
            WBAuthorizeResponse *authorizeResponse = (WBAuthorizeResponse *)response;
            
            if(authorizeResponse.statusCode == WeiboSDKResponseStatusCodeSuccess){
                
                NSLog(@"用户ID = %@", authorizeResponse.userID);
                NSLog(@"自定义信息字典 = %@", authorizeResponse.userInfo);
            }
        }
    }
    

    如果本文对你有所帮助记得点个赞哈:)

    相关文章

      网友评论

          本文标题:iOS微博授权登录

          本文链接:https://www.haomeiwen.com/subject/lvywrktx.html