具有oidc-client.js的Angular应用程序需要在第二个选项卡中登录

DiPix

我在(oidc-client.js)+ .Net Core IdentityServer4处理的Angular 8中获得了授权。

一切似乎都正常,但是当我在第二个选项卡中打开相同的应用程序时,则需要我再次登录。IdentityServer4具有cookie,因此单击“登录”按钮就足够了,无需重新提供登录名/密码即可接收新令牌。无论如何,它仍然很烦人。

有什么办法解决吗?在githubg发现了一个可能会有所帮助的问题。

有人建议需要将令牌本地化从LocalStorage更改SessionStorage但是从个人角度而言,SessionStorage更好,我会保留在那个位置。

d_f

如果您想在多个标签中使用SessionStorage(似乎是正确的),则可以在标签之间复制其数据,例如使用LocalStorageevent(请参见下面的代码示例)或BroadcastChannel(如本问答中所述),或实施自动登录,就像其他解决方案一样

(function(){

    if (!sessionStorage.length) {
        // trigger the event to get anything from other tabs
        localStorage.setItem('getSessionStorage', Date.now());
    };

    window.addEventListener('storage', function(event) {

    if (event.key == 'getSessionStorage') {

        //set and remove, so do not really keep the data in LS, but push it into event 
        localStorage.setItem('sessionStorage', JSON.stringify(sessionStorage));
        localStorage.removeItem('sessionStorage');

    } else if (event.key == 'sessionStorage' && !sessionStorage.length) {

        var data = JSON.parse(event.newValue);

        for (key in data) {
            sessionStorage.setItem(key, data[key]);
        }
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有angular-auth-oidc-client的Angular 8应用程序的Azure B2C-b2clogin端点POST CORS错误

当我们有额外的查询参数时,在 oidc-client.js 中静默更新

使所有列表条目显示在第二个WPF应用程序上

我的 QuickBooks Online 应用程序是否需要在单独的窗口或选项卡中运行?是否有像插件一样运行的应用程序,与 QB Online 在同一个窗口中?

在没有 oidc-client-js 的情况下实现 OpenID Connect

具有PKCE刷新令牌到期的OneLogin OIDC本机应用程序

Ionic Android 应用程序中的 angular-auth-oidc-client

React + flux应用程序中的oidc-client或oidc-token-manager

有没有办法避免在第一个和第二个选项卡上重复数据?PHP Codeigniter

带有 oidc-client-js 的 Azure B2C 收到“错误:令牌中的颁发者无效”

我的应用程序中没有出现启动屏幕,第二个活动运行后只有空白的白色屏幕出现

如何从另一个选项卡上的场景中选择或弹出一个选项卡式应用程序中第一个选项卡的第二个场景?

具有Cognito / OIDC的Visual Studio AWS无服务器应用程序获取ERR_TOO_MANY_REDIRECTS

Internet Explorer是否可以在两个不同的选项卡中运行两个具有不同兼容性要求的不同应用程序

使用DispatcherMiddleware包装的Flask应用程序不再具有test_client

oidc-client-js中的回调后无响应

Android:应用程序从一个活动跳到第二个活动,而没有对第一个活动进行任何操作

nuxt.js 应用程序中的 BootstrapVue <b-tabs> 显示所有选项卡的内容,而不仅仅是活动选项卡

为什么第一个查询有效而第二个查询无效?(Spring应用程序JPA)

为什么第一个查询有效而第二个查询无效?(Spring应用程序JPA)

oidc-client.js 引发“未通过权限”错误

使用oidc-client.js的checksession的CSP问题

从具有第二个数组的元素的数组中获取数据

查找名称中第二个位置具有特定字符的文件

第二个数据行在EF Core中具有空关系

在第二个表中具有多行条件的SQL Join

Excel countif函数在第二个参数中具有单元格引用

SQL:选择在第二个表中没有对应用户ID的行

React Native:当应用程序置于后台时,MainActivity 被销毁,当它上面有第二个活动时