0

Скажем, например, конечная точка моего берет (Пользователь пользователя) из подкрепленной. Как я могу ввести этот «пользователь» с моей клиентской стороны Android, используя проверку подлинности Google на бэкэнд?Как добавить пользовательский движок google «пользователь» с клиентской стороны Android?

ответ

0

Посмотрите здесь GAE впрыскивается типов:

https://cloud.google.com/appengine/docs/java/endpoints/paramreturn_types#injected_types

Если вы используете аутентификацию Google, пользователь будет введен автоматически в метод API Endpoints, а затем вы можете делать такие вещи, как проверить, если пользователь (например, в вашем хранилище данных), сохраните пользователя в хранилище данных и т. д.

Как он работает, в вашем Android-клиенте пользователю будет предложено войти в свою учетную запись Google через oAuth2.0, и как только они это сделают, объект GoogleAccountCredential передается в конструктор.

Вот пример кода взят из docs:

// Inside your Activity class onCreate method 
settings = getSharedPreferences("TicTacToeSample", 0); 
credential = GoogleAccountCredential.usingAudience(this, 
    "server:client_id:1-web-app.apps.googleusercontent.com"); 
setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null)); 

Tictactoe.Builder builder = new Tictactoe.Builder(
    AndroidHttp.newCompatibleTransport(), new GsonFactory(), 
    credential); 
service = builder.build(); 

if (credential.getSelectedAccountName() != null) { 
    // Already signed in, begin app! 
} else { 
    // Not signed in, show login window or request an account. 
} 

// setSelectedAccountName definition 
private void setSelectedAccountName(String accountName) { 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putString(PREF_ACCOUNT_NAME, accountName); 
    editor.commit(); 
    credential.setSelectedAccountName(accountName); 
    this.accountName = accountName; 
} 

В основном какая-то магия происходит и Cloud Endpoints теперь в состоянии внедрить вошедшего в систему пользователя в ваш метод Endpoints. И вы можете проверить, является ли оно нулевым или нет (если null, auth не является хорошим, поэтому бросайте несанкционированную ошибку), получите его адрес электронной почты и т. Д.

Надеюсь, что вы начнете.

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