会话和cookie这个术语对我来说是全新的,我想了解如何在不做任何事情的情况下保存和存储会话。
通常,当我在某家初创公司担任实习生时,我们曾经生成访问令牌,并将那些访问令牌传递到标头中以检查路由(测试和访问令牌用于管理路由)
现在,我制作了一个简单的react应用,该应用通过react-facebook-login
使用Facebook登录 fbLogin = <FacebookLogin
appId="19726286382204"
autoLoad={true}
fields="name,email,picture"
onClick={this.componentClicked}
callback={this.responseFacebook}
render={renderProps => (
<p onClick={renderProps.onClick} className="facebook-p"><a> <i class="fab fa-facebook-f"></i> Continue with Facebook </a> </p>
)}/>
我将来自Facebook的响应存储在还原状态
responseFacebook = (response) => {
this.props.name(response.name)
this.props.email(response.email)
this.props.LoggedIn(true)
this.props.picture(response.picture.data.url)
this.props.userID(response.userID)
}
然后我关闭了浏览器(强制退出)并重新打开了页面,转到我的应用程序以意识到我仍在登录,而我希望自己退出。
有人可以解释一下它是如何工作的吗?
答案 0 :(得分:0)
您仍处于登录状态,因为您仍将会话令牌存储在cookie中,并且当您从服务器请求页面时,浏览器会自动发送它。该令牌在响应登录时到达该位置,并一直保持在那里直到被删除。
当您“注销”将会话令牌放入cookie的网站时,您要做的部分工作就是删除本地cookie以防止这种情况发生。
此处的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
在Chrome中,您可以在开发人员工具的“应用程序->存储-> Cookies”下看到存储在浏览器中的cookie。