Instagram_OAuth2.0_iOS登录认证 Framework
2014-04-29 18:07
155 查看
最近在做各个应用的第三方授权登录,Facebook 、instagram、google+、twitter、QQ、Sina等。
大部分都有现成的framework, 当然instagram也有documentation讲解。
但是和其他应用不同的是,其他应用授权成功后一般都有一个userid/openid/uid 和accesstoken 作为登录自己应用的参数,但是 按照instagram 的 documentation中client端的授权方式,只能拿到一个accesstoken--直接导致后面的获取用户信息的API无法使用。所以自己封装了一个framework,获取授权信息和用户信息。
传送门
github源码
(Twitter正在研究中,iOS自身已经支持从setting中读取twitter信息,但是读取的信息也不够多,所以正在尝试web授权方式)
framework运行环境:iOS7.0+ 、arc
接口类:
可获取的信息如下:
Example(下面是我自己管理第三方授权的Manager中的使用情况):
大部分都有现成的framework, 当然instagram也有documentation讲解。
但是和其他应用不同的是,其他应用授权成功后一般都有一个userid/openid/uid 和accesstoken 作为登录自己应用的参数,但是 按照instagram 的 documentation中client端的授权方式,只能拿到一个accesstoken--直接导致后面的获取用户信息的API无法使用。所以自己封装了一个framework,获取授权信息和用户信息。
传送门
github源码
(Twitter正在研究中,iOS自身已经支持从setting中读取twitter信息,但是读取的信息也不够多,所以正在尝试web授权方式)
framework运行环境:iOS7.0+ 、arc
接口类:
// // InstagramAuthorizeManager.h // ILSLoginManager // // Created by hupeng on 14-4-29. // Copyright (c) 2014年 toprankapps. All rights reserved. // #import <Foundation/Foundation.h> #import "InstagramMacro.h" @interface InstagramAuthorizeManager : NSObject + (InstagramAuthorizeManager *)sharedManager; + (void)authorizeWithClientID:(NSString *)clientID clientSecrect:(NSString *)clientSecrect redirectURI:(NSString *)redirectURI parentViewController:(UIViewController *)viewController completionHandler:(InstagramAuthorizeCompletionHandler)completionHandler; @end
可获取的信息如下:
// // InstagramModel.h // ILSLoginManager // // Created by hupeng on 14-4-29. // Copyright (c) 2014年 toprankapps. All rights reserved. // #import <Foundation/Foundation.h> @interface InstagramModel : NSObject // 在返回信息中将被清空 @property (nonatomic, strong) NSString *clientID; @property (nonatomic, strong) NSString *clientSecrect; @property (nonatomic, strong) NSString *redirectURI; @property (nonatomic, strong) NSString *code; // 返回信息 @property (nonatomic, strong) NSString *accessToken; @property (nonatomic, strong) NSString *username; @property (nonatomic, strong) NSString *bio; @property (nonatomic, strong) NSString *website; @property (nonatomic, strong) NSString *image; @property (nonatomic, strong) NSString *fullName; @property (nonatomic, strong) NSString *uid; @end
Example(下面是我自己管理第三方授权的Manager中的使用情况):
- (void)openInstagramAuthorizePage { // 1.login using cached data if ([ILSCPSocialManager instagramHasLogin]) { [self loginWithInstagramAccount]; return; } ILSCPSocialManager *manager = [ILSCPSocialManager sharedManager]; [InstagramAuthorizeManager authorizeWithClientID:manager.instagramClientID clientSecrect:manager.instagramClientSecrect redirectURI:manager.instagramRedirectURL parentViewController:_parentViewController completionHandler:^(NSError *error, InstagramModel *instagramInstance) { if (error) { _completionHandler(error); return; } // init userprofile _profile.userName = instagramInstance.uid; _profile.sex = nil; _profile.firstName = nil; _profile.lastName = nil; _profile.email = nil; // 3.save login informations [ILSCPSocialManager sharedManager].instagramAccessToken = instagramInstance.accessToken; [ILSCPSocialManager sharedManager].instagramUID = instagramInstance.uid; // 4.login _requestStartHandler(); [self loginWithInstagramAccount]; }]; }
相关文章推荐
- (十一) 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
- XMPPFrameWork IOS 开发(三)登录
- QQ登录整合/oauth2.0认证-02-跳转到QQ互联页
- iOS学习系列 - 在iOS客户端实现google oauth2登录以及在asp.net服务端上form认证
- android新浪微博Oauth2.0认证以及登录
- 基于OAuth2.0协议的QQ第三方授权登录iOS代码分析
- [置顶] XMPPFrameWork IOS 开发(三)登录
- android腾讯微博Oauth2.0认证以及登录
- 初探OAuth2.0第三方认证登录
- Spring Cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
- iOS-登录认证/json解析
- android新浪微博Oauth2.0认证以及登录
- 新浪微博SSO登录方式及OAUTH2.0认证和获取我的微博
- 【Android 腾讯微博】-- Oauth2.0认证以及登录
- Spring Cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
- iOS开发- OAuth2.0认证和SSO授权
- 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
- 腾讯微博Oauth2.0认证以及登录
- iOS OAuth2.0 认证的简要说明******
- java基于OAUTH2.0的新浪微博授权认证,新浪微博登录,数据抓取,查看,发微博等