2014-10-04 30 views
5

Kullanıcıları Facebook, Twitter ve Google+ kullanarak giriş yapabilen Parse'yi kullanıyorum. Şu an itibariyle sadece Facebook ve Twitter tamamen işlevseldir.Ayrıştırma Google plus login

aşağıdaki şekilde Facebook ve Twitter kullanarak giriş başarmış: Ben ayrıştırma yoluyla Google+ ile bunu başarmak için anlamaya çalışıyorum

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

      }); 
    } 

. Birisi Parse Rest API'sine bakmamı önerdi, ancak ben buna aşina değilim ve daha fazla rehberliğe ihtiyacım var.

Herhangi bir açıklama takdir edilecektir.

+0

[Here] (https://parse.com/docs/rest) Ayrıştırma API'sı dokümantasyonudur ve [burada] (https://parse.com/docs/android_guide) Android kılavuzdur. En azından Google’a denedin mi? –

+0

@ user3907211, google + girişini kolaylaştıran diğer java kütüphaneleri var. Ilgileniyor musun – Alboz

+0

İlgilenirim. Bunu yapmanın pek çok yolu var, ama ayrıştırmada, kullanıcı oturum açma google + bilgilerini depolayan bir ilişki oluşturmak istiyorum. – John

cevap

0

bu şartının:

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

ve bu:

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

İçlerinden anlayışıma

sadece bazı algoritma kullanarak bir şifre oluşturmanız gerekir

uygulamanızda veya bulutunuzda/arka uçta, af

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

bu çözümün hakkında önemli bir nokta:

ter başarıyla Google+/Github/Whatever

bir simeple uygulaması (ama güvenli değil uygulamanızda olmasını) ile giriş Uygulamanızdaki kimliği temel alarak kimlik/şifreyi kullanmanız güvenli değildir. Daha iyi bir çözüm, Google+ Token/UserId öğesinin arka plan/bulut olarak gönderilmesidir. Ardından, Arka Plan/Bulut, bu Token/Kimliği'nin geçerli olduğunu doğrular, ardından kullanıcı adı/şifre dışında ve Parse Kullanıcı ile değiştirin.

Umarım Fikri aldınız.

+0

Google+ Simgesini nasıl gönderebilirim? Oturum jetonuyla ilişkili nasıl yeni kullanıcı hesabı oluşturabilirim? –