繁体   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