我正在使用身份服务器4为企业档案中的不同应用程序提供身份服务。
使用带有oidc-client.js的身份服务器4应用程序的隐式流注册SPA应用程序并且正在运行。
但问题是令牌更新,需要长时间保留用户登录而不要求用户再次登录。
为了实现这一点,请使用以下配置实现静默令牌更新。
var config = {
authority: "http://localhost:5000",
client_id: "jswebclient",
redirect_uri: "http://localhost:5003/callback.html",
response_type: "id_token token",
scope: "openid profile api1",
post_logout_redirect_uri: "http://localhost:5003/loggedout.html",
automaticSilentRenew: true,
silent_redirect_uri : "http://localhost:5003/callback.html" };
var mgr = new Oidc.UserManager(config);
使用上述配置自动更新正在进行,但它没有按预期进行静默更新,完整页面重定向到重定向uri正在发生以处理来自身份服务器的响应。
对于ex:index.html是我的实际页面,其中静默更新发生,callback.html是重定向uri,index.html被重定向到callback.html,然后续订,然后重定向回index.html,实际网络日志附在下面,
任何人都可以帮我解决问题,让无声更新发生。
答案 0 :(得分:5)
var config = {
authority: "http://localhost:5000",
client_id: "jswebclient",
redirect_uri: "http://localhost:5003/callback.html",
response_type: "id_token token",
scope: "openid profile api1",
post_logout_redirect_uri: "http://localhost:5003/loggedout.html",
automaticSilentRenew: true,
silent_redirect_uri: "http://localhost:5003/silentrenew.html"
};
var mgr = new Oidc.UserManager(config);
创建了一个新的silentrenew.html页面来处理静默续订响应,并在页面中添加了以下脚本
<script>
new Oidc.UserManager().signinSilentCallback();
</script>
这就是所有......它开始按预期工作了。