您应该为您提到的内容使用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));
}
});
要为您的应用程序实现它,您可以使用 Java 集成 OAuth 2.0 Google OpenID,但您也可以选择使用 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()
它使用 oauth2 的 authTokenType 请求令牌。然后,您可以像往常一样将其集成到托管在服务器端的后端。