2014-10-04 20 views
5

Sto usando Parse, dove gli utenti possono accedere utilizzando Facebook, Twitter e Google+. A partire da ora, solo Facebook e Twitter sono completamente funzionanti.Parse Google plus login

Sono riuscito a effettuare il login utilizzando Facebook e Twitter nel modo seguente:

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();    } 
       } 

      }); 
    } 

Sto cercando di capire a raggiungere questo obiettivo con Google+ tramite parse. Qualcuno mi ha suggerito di consultare l'API di Parse Rest, tuttavia, non ho familiarità con esso e ho bisogno di più indicazioni.

Qualsiasi chiarimento sarà apprezzato.

+0

[Qui] (https://parse.com/docs/rest) è la documentazione API di Parse e [qui] (https://parse.com/docs/android_guide) è la guida di Android. Hai provato almeno a Google? –

+0

@ user3907211 ci sono altre librerie java che facilitano l'accesso a google +. Sei interessato? – Alboz

+0

Sarei interessato. Ci sono molti modi per farlo, ma voglio creare una relazione in analisi, dove parse memorizza le informazioni google + di login dell'utente. – John

risposta

0

di cui al presente:

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

e questo:

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

e la mia comprensione di loro

Hai solo bisogno di generare una password utilizzando qualche algoritmo nella tua app o nel tuo cloud/backend, af ter accedere con successo con Google+/Github/Qualunque sia

un'implementazione simeple (ma non è assicurato di avere nella vostra app):

// 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 
    } 
    } 
}); 

Una cosa importante su questa soluzione:

Non è sicuro utilizzare semplicemente l'ID/password basato sull'ID nella tua app, una soluzione migliore sarebbe quella di inviare Token/UserId di Google+ a backend/cloud, quindi il Backend/Cloud verifica che questo Token/Id sia valido, quindi crea il Username/password e scambiarlo con Parse User.

Spero che tu abbia avuto l'idea.

+0

Come posso inviare Token Google+ ?? Come posso creare un nuovo account utente associato al token di sessione? –

Problemi correlati