2014-10-04 16 views
5

Używam Parse, gdzie użytkownicy mogą się logować za pomocą Facebooka, Twittera i Google+. Obecnie tylko Facebook i Twitter są w pełni funkcjonalne.Parse Google plus zaloguj się

udało mi się zalogować za pomocą Facebooka i Twittera w następujący sposób:

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

      }); 
    } 

Próbuję dowiedzieć się, aby to osiągnąć dzięki Google+ przez przetworzenia. Ktoś zasugerował mi, abym zajrzał do interfejsu Parse Rest API, jednak nie jestem do niego zaznajomiony i potrzebuję więcej wskazówek.

Wszelkie wyjaśnienia zostaną docenione.

+0

[tutaj] (https://parse.com/docs/rest) to dokumentacja API Parse, a [tutaj] (https://parse.com/docs/android_guide) to przewodnik dla systemu Android. Czy próbowałeś przynajmniej go wypróbować? –

+0

@ user3907211 istnieją inne biblioteki java, które ułatwiają logowanie google +. Czy jesteś zainteresowany? – Alboz

+0

Byłbym zainteresowany. Istnieje wiele sposobów, aby to zrobić, ale chcę utworzyć relację w analizie składniowej, w której parsuje się login użytkownika google + informacje. – John

Odpowiedz

0

jak na to:

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

i tak:

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

I moim rozumieniem nich

Wystarczy wygenerować hasło przy użyciu pewnego algorytmu w aplikacji lub w chmurze/backend, af ter pomyślnym zalogowaniu się do Google+/Github/cokolwiek

simeple realizacja (ale to nie jest zabezpieczona mieć go w swojej aplikacji):

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

Jedną ważną rzeczą w tym roztworze:

Nie jest zabezpieczone używanie tylko identyfikatora/hasła w oparciu o identyfikator w Twojej aplikacji, lepszym rozwiązaniem byłoby wysłanie Token-u/UserId do backendu/chmury, a Backend/Cloud sprawdzi, czy ten token/identyfikator jest ważny, a następnie utworzyć nazwa użytkownika/hasło z niego i wymień go z Parsującym Użytkownikiem.

Mam nadzieję, że masz pomysł.

+0

Jak mogę wysłać Token Google+? Jak mogę utworzyć nowe konto użytkownika powiązane z tokenem sesji? –

Powiązane problemy