所以我在反应应用程序上使用 oidc-client 让我的用户 SSO 到 Azure AD。一切正常...
...除了,大约每隔 X 分钟左右,页面就会在控制台中刷新一次(X 似乎在 30 到 60 分钟之间)。
这是上图中的错误文本:
BSSO Telemetry:
{
"result": "Reload",
"error": null,
"type": "ChromeSsoTelemetry",
"data": {
"extension.id": "ppnbnpeolgkicgegkbkbjmhlideopiji"
},
"traces": [
"BrowserSSO Initialized",
"Creating ChromeBrowserCore provider",
"Sending message for method CreateProviderAsync",
"Received message for method CreateProviderAsync",
"Using Chrome extension with id ppnbnpeolgkicgegkbkbjmhlideopiji",
"Pulling SSO cookies",
"Sending message for method GetCookies",
"Received message for method Response",
"SSO cookie detected. Refreshing page."
]
}
VM146 oidc-client.min.js:42 Uncaught SyntaxError: Unexpected token 'else'
VM147 silent-refresh.html:11 Uncaught ReferenceError: Oidc is not defined
这是我在silent-refresh.html 中的内容:
<head>
<title></title>
</head>
<body>
<script src="oidc-client.min.js"></script>
<script>
// debugger;
let userManager = new Oidc.UserManager()
try {
userManager.signinSilentCallback()
} catch (err) {
console.log('silent sign in failed')
console.log(err)
}
</script>
</body>
我刚刚得到了一个 oidc-client.min.js 文件,它位于我从这里得到的旁边。
我试过的
- 移除了 Redux 开发工具
- 移除了 React 开发工具
- 更改了
accessTokenExpiringNotificationTime传递给 UserManager() 的属性- 当前设置为 600(10 分钟)。当我将其更改为 60(1 分钟)时,没有区别。刷新仍然发生在同一时间范围内。当我将其更改为 3600 或 7200(1 或 2 小时)时,错误和刷新会立即发生。
