IdentityManager 0.6

IdentityManager 0.6

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期上次发布2014年12月

未认证 维护。



 
依赖关系
Facebook-iOS-SDK= 3.2.1
AFNetworking= 1.2.0
MBProgressHUD= 0.6
 

  • 作者
  • Rex Sheng

IdentityManager 维护每个 OAuth 平台上的多个账户,包括对 Facebook、Twitter 和 LinkedIn 的支持。但您可以注册尽可能多的 OAuth 1.0a 服务。

此项目受以下项目的启发:

  • AFOAuth1Client
  • TWiOS5ReverseAuthExample
  • RSOAuthEngine
  • FacebookSDK 中的 SwitchUserSample

需求

IdentityManager 需要 FacebookSDK.framework(v3.1.1)AFNetworking

此外,最好是使用 LLVM4.0 和 xCode4.5 进行编译。如果您使用的是较低版本,尝试添加我的子模块 ObjectiveCLiterals

开始使用

可以通过指定命名空间和最大插槽数来创建 IdentityManager

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    identityManager = [[IdentityManager alloc] initWithPrefix:@"VH" maximumUserSlots:7];
    ...
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [identityManager handleOpenURL:url];
}

要完全与 Facebook 一起使用,需要将 FacebookAppID 和正确的 URL Types 添加到 info.plist 中,并使用以下方式注册:

  [identityManager registerSocialSessionsClass:[FacebookSessions class]];

如果只是想获取 idname,可以使用 FaceboookSessions 启动新的请求,但您可以使用 _SOCIALSESSIONS_FACEBOOK_TOKEN_ONLY_ 停止发送请求。

对于 Twitter 和 LinkedIn,需要使用您提供的 app_key 添加 TwitterAppIDLinkedInAppID,并将 tw[app_key]li[app_key] 添加为 URL Types,并使用以下方式注册:

// you probably want to add these to your prefix.pch file.
#define TWITTER_SECRET @"xxxxx"
#define LINKEDIN_SECRET @"xxxxx"

  [identityManager registerSocialSessionsClass:[TwitterSessions class]];    
  [identityManager registerSocialSessionsClass:[LinkedInSessions class]];

最后,启动注册如下

  [identityManager authenticateIdentityWithServiceIdentifier:[TwitterSessions socialIdentifier] completion:^(BOOL success) {
      NSLog(@"done!");
  }];