簡體   English   中英

使用oidc-client和IdentityServer4在不同的域中登錄

[英]SignIn with oidc-client and identityServer4 in different domain

我在localhost中有一個VueJs應用程序,該應用程序使用oidc-client.js庫登錄到另一個域中生產環境中的IdentityServer4服務器。

登錄后,IdentityServer將我重定向到VueJs應用程序,而不是我調用方法signinRedirectCallback() ,但oidc-client方法getUser()並沒有向我提供用戶信息。

如果我檢查LocalStorage,則可以看到oidc.user:IdentityServer4Url值,在該值中可以看到用戶的所有信息(access_token,id_token,配置文件ecc ...),並且還有Cookie的“ idsrv”,“ idsrv”。會話”,“ ARRAffinity”。

如果我在同一個域中嘗試該應用程序,它將起作用。 是否可以有一個本地主機應用程序並登錄到另一個域? 謝謝

您絕對可以將您的身份服務器放在不同的域中,並且幾乎所有的大型IDP(身份提供者)都將位於不同的域中。

當您說時,您具有本地存儲上的信息,您是否確定訪問令牌與您在singin響應URL中收到的令牌相同? 在本地存儲中,您會看到一個名為“ expires_at”的屬性,請查看該值是否有效。

https://github.com/IdentityModel/oidc-client-js/blob/dev/src/UserManager.js#L595

如果所有的事情都正確的話,那么我就不會想到它不應該檢索的任何其他原因。

另一種可以幫助您的調試技術是? 轉到您的node_modules文件夾,查找oidc-cient-js文件夾,然后將package.json文件中的main屬性從oidc-client.min.js修改為oidc-client.js,這樣您就可以保持斷點並逐步調試一步,找出正在發生的事情。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM