google-app-engine – Google应用程序应用程序相互通信

我正在寻找一种让两个Google Apps应用程序相互通信并在彼此之间共享数据的方法.我有以下场景:

>应用程序A使用Google Apps登录记录用户
>应用程序B使用Google Apps登录记录用户
>然后这些应用程序需要使用某些API直接相互通信(服务器到服务器)

问题是:这些应用程序如何验证另一个应用程序是否使用同一用户登录Google?我会想象:
  – 应用程序A从Google获取一些“令牌”并将其发送到应用程序B.
  – 应用B验证此令牌对于与登录时相同的Google帐户有效

有没有办法通过Google Federated Login实现这一目标?我在这里谈论Hybrid protocol.

最佳答案 这是一个简单的方法:

>您可以在两个应用程序上保留用户的Google用户ID的所有内容.
>您使用包含userid的HTTP请求共享数据.
>为防止用户标识泄露(帐户API禁止)并验证消息确实来自其他应用程序,您可以使用AES或Blowfish等对称密码或任何您喜欢的密码加密请求.两个应用程序都嵌入了相同的密钥.

你可以使用公钥加密.只有两个应用程序,在我看来它是不值得的.如果你开始有更多的应用程序,公钥是有道理的.

细则:加密不保证完整性或原产地,无需额外措施.您需要采取预防措施,例如通过合并时间戳或序列号.您需要采取预防措施防止篡改,例如:带校验和.确保使用CBC和良好的初始化向量.密钥保密.

点赞