2014-10-04 20 views
5

Я использую Parse, где пользователи могут подключаться к Facebook, Twitter и Google+. На данный момент полностью функционирует только Facebook и Twitter.Parse Google plus login

мне удалось войти в систему с помощью Facebook и Twitter следующим образом:

private void onLoginButtonClicked() { 
     LoginActivity.this.progressDialog = ProgressDialog.show(
       LoginActivity.this, "", "Logging in...", true); 
     List<String> permissions = Arrays.asList("public_profile", "user_about_me", 
       "user_relationships", "user_birthday", "user_location"); 
     ParseFacebookUtils.logIn(permissions, this, new LogInCallback() { 
      @Override 
      public void done(ParseUser user, ParseException err) { 
       LoginActivity.this.progressDialog.dismiss(); 
       if (user == null) { 
        Log.d(IntegratingFacebookTutorialApplication.TAG, 
          "Uh oh. The user cancelled the Facebook login."); 
       } else if (user.isNew()) { 
        Log.d(IntegratingFacebookTutorialApplication.TAG, 
          "User signed up and logged in through Facebook!"); 
        showUserDetailsActivity(); 

       } else { 
        Log.d(IntegratingFacebookTutorialApplication.TAG, 
          "User logged in through Facebook!"); 
       moodpage();    

       } 
      } 
     }); 
    } 

    private void onTwitterButtonClicked() { 
     ParseTwitterUtils.logIn(this, new LogInCallback() { 
       @Override 
       public void done(ParseUser user, ParseException err) { 
       if (user == null) { 
        Log.d("MyApp", "Uh oh. The user cancelled the Twitter login."); 
       } else if (user.isNew()) { 
        Log.d("MyApp", "User signed up and logged in through Twitter!"); 
        showUserDetailsActivity();   
        } else { 
        Log.d("MyApp", "User logged in through Twitter!"); 
        moodpage();    } 
       } 

      }); 
    } 

Я пытаюсь выяснить, чтобы добиться этого с помощью Google+ разборе. Кто-то предложил мне заглянуть в Parse Rest API, однако я не знаком с ним и нуждаюсь в дополнительных указаниях.

Любые разъяснения будут оценены.

+0

[Здесь] (https://parse.com/docs/rest) - это документация по Parse API и [здесь] (https://parse.com/docs/android_guide) - это руководство для Android. Вы пытались хотя бы в Google? –

+0

@ user3907211 есть другие java-библиотеки, которые облегчают вход в google +. Вы заинтересованы? – Alboz

+0

Мне было бы интересно. Есть много способов сделать это, но я хочу создать отношения в синтаксическом анализе, где parse хранит пользовательскую регистрационную информацию google +. – John

ответ

0

согласно этим:

http://blog.parse.com/announcements/adding-third-party-authentication-to-your-web-app/

и это:

https://parse.com/tutorials/adding-third-party-authentication-to-your-web-app

И мое понимание их

Вам просто нужно сгенерировать пароль, используя некоторый алгоритм в вашем приложении или вашем облаке/backend, af тер успешного входа в систему с помощью Google+/Github/Безотносительно

simeple реализации (но это не обеспечено, чтобы иметь его в своем приложении):

// given Google Plus login (Using their Api) i.e. no Parse yet at this point 
int id = 12345; // assume that this is google+ id (After successfully logging in) 

ParseUser user = new ParseUser(); 
user.setUsername("google-plus-" + String.valueOf(id)); 
user.setPassword(hashMyPassword(id)); // Create password based on the id 
user.setEmail("[email protected]"); 

user.signUpInBackground(new SignUpCallback() { 
    public void done(ParseException e) { 
    if (e == null) { 
     // Hooray! Let them use the app now. 
    } else { 
     // Sign up didn't succeed. Look at the ParseException 
     // to figure out what went wrong 
    } 
    } 
}); 

Одна важная вещь об этом решении:

Он не предназначен для использования id/password на основе идентификатора в вашем приложении, лучшим решением было бы отправить токен/UserId Google+ на бэкэнд/облако, тогда Backend/Cloud проверяет, что этот токен/идентификатор действителен, затем создайте имя пользователя/пароль и обменять его с пользователем Parse.

Надеюсь, у вас есть Идея.

+0

Как я могу отправить токен Google+ ?? Как я могу создать новую учетную запись пользователя, связанную с токеном сеанса? –

Смежные вопросы