1

我正在使用身份服務器4爲企業架構中的不同應用程序提供身份服務。身份服務器4中的靜默令牌續訂js客戶端應用程序未按預期工作

註冊一個SPA應用程序,使用帶有oidc-client.js的身份服務器4應用程序的隱式流,並且正在運行。

但問題在於令牌更新,需要長時間保持用戶登錄而無需再次請求用戶登錄。

爲了使這種情況發生,使用以下配置實現靜默令牌更新。

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是發生在處理從身份服務器響應。

對於例如:index.html是我的實際頁面,其中發生無聲續約,callback.html是重定向URI,index.html被重定向到callback.html,然後更新,然後重定向回到index.html,實際網絡日誌附在下面,enter image description here

任何人都可以幫我解決問題,使無聲更新發生。

回答

1

google搜索了很多,提到了許多文章後,我發現了這個問題,這與配置,更改配置到下面

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> 

這就是所有......它開始按預期工作。

相關問題