这是一个提供第三方认证和分享的iOS公共库。
v2.x 版本目前已有功能:
Vender | OAuth2认证 | SSO OAuth2认证 | 分享 |
---|---|---|---|
豆瓣 | 支持 | 不支持 | 支持 |
新浪微博 | 支持 | 不支持 | 支持 |
腾讯微博 | 支持 | 不支持 | 支持 |
人人 | 支持 | 不支持 | 支持 |
当前的代码为v2.x版本
- 支持SSO认证方式的方式获取Access Token
- 加入更多的OAuth认证和分享实现,比如QQ Zone,
- [待定]支持iOS内置的分享渠道。
$ git submodule add https://github.com/douban/DOUSNSSharing.git ${path}
$ cd ${path}
$ git checkout ${version}
$ git submodule update --init --recursive
* 在Build Phases -> Target Dependencies 中加入target:DOUSNSSharing
* 在Build Phases -> Link Binary With Libraries 中加入链接库:libDOUSNSSharing.a
详细可以查看Demo中的OAuthSampleBaseViewController
self.authorizationManager = [[DOUOAuth2AuthorizationManager alloc] initWithClientid:[self venderAPIKey]
secret:[self venderAPISecrect]
venderType:[self venderType]];
[self.authorizationManager setBlocksForDidSucceedBlock:^(DOUOAuth2Credential *credential) {
} didFailBlock:^(NSError *error) {
} didCancelBlock:^(DOUOAuth2Credential *credential) {
}];
UIView *oauthView = [self.authorizationManager requestWithRedirectUri:[self oauthRedirectURL]
scope:nil];
[self.view addSubview:oauthView];
详细可以查看Demo中的AuthorizationSamplesViewController
self.requestManager = [[DOUVenderAPIRequestManager alloc] initWithBlocksForDidFinishBlock:^(NSInteger toalCount, NSInteger succeedCount, NSArray *credentialsForFailures) {
[self showAlertViewWithText:@"Finished!"];
} didSendOneBlock:^(DOUVenderAPIResponse *resp) {
[self showAlertViewWithText:@"succeed to send one"];
} didFailOneBlock:^(NSError *error, DOUOAuth2VenderType venderType) {
[self showAlertViewWithText:[NSString stringWithFormat:@"error %@, vender type : %d", error, venderType]];
}];
[self.requestManager sendStatus:[NSString stringWithFormat:@"%@ Test$$$", [NSDate date]]
withCredentials:enabledArr
extraOptions:renrenOptions];
- Support Douban
- Fix warnings in Xcode 5
- Update demo : remove api keys
- Increase succ count
- Update renren error code
- Bug fix : 人人授权加上了publish_feed
- 在OAuth认证后,加上User Info的获取
- Bug fix : 处理了一些json解析的错误
- 加了错误码:区分网络错误,OAuth错误,http服务错误等
- 更新了demo
- 统一了一些model:credential
- 统一了接口,详细见: DOUOAuth2AuthorizationManager.h DOUVenderAPIRequestManager.h
- 更新了demo