首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scringo和Parse:如何同时登录Facebook?

Scringo和Parse:如何同时登录Facebook?
EN

Stack Overflow用户
提问于 2014-05-19 22:35:19
回答 1查看 107关注 0票数 0

我的应用程序允许典型的注册(电子邮件、用户名、密码等),但也允许Facebook/Twitter通过Parse注册/登录。如果可能的话,我想避免强迫用户在Facebook或Twitter上注册两次。目前,我已经添加了"Scringo's“编程注册功能,可以使用与我的应用程序相同的凭据将用户签名到"scringo”中;但是。如果他们和Facebook签约了呢?对于一个用户来说,登录Facebook,然后滑过一个条子,然后访问消息组件,被迫再次登录Facebook,这似乎让人非常困惑。

下面是我目前所拥有的,是否有链接Facebook/Twitter签名过程,以便两个Parse都能在一个按钮上按下Scringo获得信息?

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary       *)launchOptions
{

[Parse setApplicationId:@"...gzPI7Omoxc..."
              clientKey:@"...s22ZqIbM7n..."];

[PFTwitterUtils
 initializeWithConsumerKey:@"...W4XjjpHz..."
            consumerSecret:@"...Czjtht7v5..."];

[PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions];
[PFFacebookUtils initializeFacebook];

[self configureNavigationBar];

[Scringo initWithAppId:@"...N2cCMhW1Bv..." completion:^{
    [Scringo addSidebar:self.window toLeft:YES];
     PFUser *currentUser = [PFUser currentUser];
    if (! [ScringoUser currentUser].isAuthenticated) {
        [ScringoUser signUpWithEmail:currentUser.email userName:currentUser.username password:@"notforyou" completion:^(ScringoUser *aUser, BOOL isSuccess) {
            if (isSuccess) {
                [currentUser setObject:aUser.userId forKey:@"ScringoUserId"];
                [currentUser saveInBackground];
            }
        }];
    }
     }];

return YES;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-20 15:21:19

原来SDK中有一个方法(我只是忽略了它)

代码语言:javascript
复制
[Scringo connectFacebook]

如果该应用程序已经成功登录到facebook,那么调用它也可以验证Scringo的身份。

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

[Parse setApplicationId:@"gzPI7OmoxcSYqQGWASjzVd8lP5q8FVJqh2ZLsXnp"
              clientKey:@"s22ZqIbM7n8SN1End57vmTmmeL55YnIen7dmMhIR"];

[PFTwitterUtils
 initializeWithConsumerKey:@"W4XjjpHzG03bWK8R0iPvs27Yy"
            consumerSecret:@"Czjtht7v58yfZ00QV5Gkumfdy8RauCyPllYh5SPm00I3M6fkPP"];

[PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions];
[PFFacebookUtils initializeFacebook];

[self configureNavigationBar];

[Scringo initWithAppId:@"cvOV3lLwQN2cCMhW1BvnW2eWnyoiLNgA" completion:^{
    [Scringo addSidebar:self.window toLeft:YES];
     PFUser *currentUser = [PFUser currentUser];
    if (! [ScringoUser currentUser].isAuthenticated) {
        if (currentUser) {
            if (currentUser.email) [Scringo connectFacebook];
        else
        [ScringoUser signUpWithEmail:currentUser.email userName:currentUser.username password:@"notforyou" completion:^(ScringoUser *aUser, BOOL isSuccess) {
            if (isSuccess) {
                [currentUser setObject:aUser.userId forKey:@"ScringoUserId"];
                [currentUser saveInBackground];
            }
        }];
        }
    }
     }];

return YES;
}

这是假设PFUser已经存在,所以我还首次为登录facebook的用户添加了相同的调用

代码语言:javascript
复制
- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user {
[self dismissViewControllerAnimated:YES completion:^{
    if (!self.currentUser.email) [Scringo connectFacebook];
}];
}

测试和工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23748287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档