在用于 Google+ 服务器端身份验证的示例 Java 代码中,用于处理对 url 的请求的代码中有以下注释/connect
:
// Normally the state would be a one-time use token, however in our
// simple case, we want a user to be able to connect and disconnect
// without reloading the page. Thus, for demonstration, we don't
// implement this best practice.
//request.session().removeAttribute("state");
该state
属性是在默认路由 ( /
) 的页面加载时生成的随机序列,并且必须由 ajax 调用提供/connect
以使连接请求成功。
该注释暗示状态保留在会话中是不合适的,但在示例中只是为了允许用户重复登录和注销而将其注释掉。
但是,我确实希望用户能够随意登录和注销,而无需重新加载页面。如果我在会话中保留值,state
我是否允许利用?我应该生成一个新状态并在 DOM 中的某处更新它/disconnect
吗?还是我应该做一些完全不同的事情?