【发布时间】:2015-11-01 03:45:12
【问题描述】:
现在使用 idToken 为您的用户创建会话。为此,您 应将 idToken 交换为来自的 Session Token 或 Cookie 你的服务器。最后保存Session Token或者Cookie来维护 您的用户的会话。
在问题 Validating OAuth2 token obtained on Android device via Google Identity Toolkit (GitkitClient) on 3rd-party backend (custom python backend, non-gae)? 的答案的示例代码中,通过 Android 获得的令牌的后端服务器令牌验证似乎足以确保拥有一个有效、安全的令牌,该令牌可以在期间添加到 Android 客户端标头中与后端的任何后续通信。
那么为什么会有you should exchange the idToken for either a Session Token or Cookie from your server的推荐呢?
这是因为 idToken 的大小(差不多 1KB,IIRC)吗?
存在哪些建议(最简单和最安全的方式)来生成此类会话令牌?
除了大小之外,还有其他反对使用 idToken 作为 Session Token 的论据吗?
会话令牌可以是 idToken(Python 中的 idToken.split(".")[0] )的第一部分(“令牌”)吗?还是有效载荷 (idToken.split(".")[1])?或者也许创建 idToken 的 SHA1? 编辑: 好的,我意识到使用 JTW 标头会很愚蠢,但有效负载至少有几个变量(iat 和 exp,可能还有 user_id),但是签名呢?
gitkit.js ("gtoken") 创建的令牌/cookie 是 idToken 本身,是否也应将其替换为会话令牌?
【问题讨论】:
标签: session google-identity-toolkit