我使用OAuth.io JavaScript客户端SDK通过GitHub进行身份验证。身份验证成功后,我收到一个GitHub access_token。我还设置了cache: true
,这样用户只有在还没有登录的情况下才能获得弹出窗口
因为我启用了缓存,所以当我调用OAuth.popup
时,实际上不会出现弹出窗口,而是在access_token
可用的情况下立即调用我的回调。
在用户尚未登录的情况下,我如何检查用户是否已经登录并在不显示弹出窗口的情况下获得访问令牌?
原因是,如果他们没有登录,我想显示登录按钮,但如果他们登录,我希望显示GitHub中的数据。无论哪种情况,我都不想显示弹出窗口,除非他们真的点击了登录按钮。
注意:我正在专门寻找一种使用OAuth.io客户端JavaScript SDK实现这一点的方法。我知道我可以在凭据进行身份验证时手动保存凭据,但如果oauth.io已经在某个地方缓存了这些信息,我宁愿不必这样做。
原来它就在我面前的文档上:http://docs.oauth.io/#caching-请求对象
特别是OAuth.create('github')
正是我所需要的。它将返回缓存的结果对象,与我尝试身份验证时返回的结果对象相同。