我有一个Vue应用程序,正在其中尝试设置静默令牌更新。
我的Oidc配置如下所示:
var mgr = new Oidc.UserManager({
authority: process.env.VUE_APP_IDENTITY_URL,
client_id: process.env.VUE_APP_CLIENT_ID,
redirect_uri: process.env.VUE_APP_REDIRECT_URI,
scope: 'openid profile',
response_type: 'id_token token',
silent_redirect_uri: process.env.VUE_APP_SILENT_REDIRECT_URI,
userStore: new Oidc.WebStorageStateStore({store: localStorage}),
automaticSilentRenew: true,
filterProtocolClaims: true,
loadUserInfo: true,
})
我还有一个静态的silent-renew.html页面:
<!DOCTYPE html>
<html>
<head>
<title>Silent Renew Token</title>
</head>
<body>
<script src='oidc-client.min.js'></script>
<script>
new Oidc.UserManager().signinSilentCallback().catch((err) => {
console.log(err);
});
</script>
</body>
</html>
当我加载应用程序时,静默更新会无限循环一遍又一遍:
我的访问令牌不会再过期一个小时,但它仍在触发事件,我无法深入了解这一点。有人知道还有什么可能导致此循环吗?
通过在客户端设置中设置monitorSession: false
固定。将此设置为true会导致重复检查令牌到期。