GitHub 上的GitkitDemo说
现在使用 idToken 为您的用户创建会话。为此,您应该将 idToken 交换为来自服务器的会话令牌或 Cookie。最后,保存 Session Token 或 Cookie 以维护用户的会话。
在Validating OAuth2 token getting 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 作为会话令牌的论据吗?
会话令牌可以是 idToken(idToken.split(".")[0]
在 Python 中)的第一部分(“令牌”)吗?还是有效载荷 ( idToken.split(".")[1]
)?或者也许创建 idToken 的 SHA1?编辑:好的,我意识到使用 JTW 标头会很愚蠢,但是有效负载至少有几个变量(iat
并且exp
可能还有user_id
),但是签名?
由gitkit.js(“gtoken”)创建的令牌/cookie 是 idToken 本身,是否也应该用会话令牌替换?