Ответ 1
Вы должны использовать OAuth 2.0 за то, что вы упомянули.
Вы можете использовать первую учетную запись Google, разрешающую аутентификацию на вашей стороне. OAuth 2.0 - отличный инструмент, который упрощает и позволяет разработчикам легко разрешить пользователям доступ к вашему приложению, возможно, это платформа для игр или торговли . Объект OAuthHmacSigner будет управлять аутентификацией для вас по мере ее инициализации:
signer = new OAuthHmacSigner();
signer.clientSharedSecret = Constants.CONSUMER_SECRET;
Затем активность Android использует следующий код для запуска потока OAuth:
launchOauth.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent().setClass(v.getContext(),
PrepareRequestTokenActivity.class));
}
});
Чтобы реализовать его для своего приложения, вы можете интегрировать OAuth 2.0 Google OpenID с помощью Java, но вы также можете использовать Python или Ruby. Он предоставляет несколько инструментов для повышения безопасности, что также упрощает создание токена состояния анти-подделки:
String state = new BigInteger(130, new SecureRandom()).toString(32);
request.session().attribute("state", state);
return new Scanner(new File("index.html"), "UTF-8")
.useDelimiter("\\A").next()
.replaceAll("[{]{2}\\s*CLIENT_ID\\s*[}]{2}", CLIENT_ID)
.replaceAll("[{]{2}\\s*STATE\\s*[}]{2}", state)
.replaceAll("[{]{2}\\s*APPLICATION_NAME\\s*[}]{2}",
APPLICATION_NAME);
Чтобы получить токен доступа OAuth 2.0, вам просто нужно позвонить:
AccountManager.getAuthToken()
Что запрашивает токен, используя authTokenType oauth2. Затем вы можете как обычно интегрировать его в свой серверный сервер, размещенный на вашей стороне сервера.