我们使用Linkedin让我们的会员“登录”访问我们的后端。我们只使用Javascript SDK,因为我们的网站非常简单。我们有很多用户在6个月后回来并收到以下错误,而不是看到“使用Linkedin登录”按钮:
[未授权]。过期的访问令牌。时间戳:1501736450333
由于我们没有后端在60天到期之前批量续订令牌,因此我们成员的简单解决方案是先退出,查看“登录”按钮,然后再次登录 - 我们知道重新验证令牌。
问题:我不知道如何“捕获”错误或识别用户何时使用Linkenin的Javascript SDK过期令牌。
<script type="text/javascript" src="//platform.linkedin.com/in.js">
api_key: XXXXXXXXXXXXX
onLoad: li_OnFrameworkLoad
authorize: true
</script>
...
<script type="text/javascript">
function li_OnFrameworkLoad() {
IN.Event.on(IN, "auth", li_OnAuth);
}
</script>
我尝试过使用:
if (!IN.User.isAuthorized()) {
li_Logout();
}
方法,但不起作用
IN.Event.on(IN, "auth", li_OnAuth);
会在未先调用“li_OnAuth”回调的情况下触发“[未授权] ...”消息。
再现:如果您知道如何触发“[未授权]。过期的访问令牌,那么我在本地计算机上似乎无法重现它。” “请告诉我。”
解决方案?:最近的一种解决方案是使用:
<script type="text/javascript">
window.onerror = function(e) {
if (e == 'Script error.') {
console.log('There is a chace IN.init failed.');
}
}
</script>
但是我对“ window.onerror ”并不是很熟悉,如果令牌过期等,我不确定Linkedin Javascript SDK是否会触发错误。基本上我只需要抓住错误并调用我的“ li_logout(); ”函数从Linkedin注销用户并刷新页面。
非常感谢,任何智慧都会受到高度赞赏。