小编Yuk*_*kun的帖子

如何处理 Angular 5 上的浏览​​器刷新操作?

目前,我正在尝试检测浏览器刷新事件(使用 F5),然后重新初始化页面状态一次。我只是检查了路由器事件,即如果第一个事件类型是 NavigationStart 并且事件 id 是 1,我认为用户按下了浏览器刷新 F5 按钮。

示例代码如下所示。然而,看起来很奇怪。有没有更好的方法来归档相同的目标?或任何建议?谢谢

export class AppComponent implements OnInit{

   constructor(private  router: Router) {
     this.router.events.pairwise().subscribe((events: any[]) => {
       if (events[0] instanceof NavigationStart
             && events[0].id === 1 && events[1].id === 1) {

             // re-initialize page sate . . .
    }
  });
Run Code Online (Sandbox Code Playgroud)

}

angular-ui-router angular

7
推荐指数
1
解决办法
8065
查看次数

打开多个浏览器选项卡时应如何处理用户注销用例

我在Identity Server 4 中使用angular-oauth2-oidc

用户需要通过 OpenId Connect 隐式流登录。我的 ID 和访问令牌存储在 Web 浏览器 localStorage 中。

当用户打开多个浏览器选项卡,然后用户从其中一个选项卡注销时,我应该如何处理其余的选项卡?

我试图捕捉 session_terminate 事件,他们试图将用户注销。但是,它不会将用户重定向回登录页面。

this.oauthService.events.filter(e => e.type ==='session_terminated')
                  .subscribe(e => {this.oauthService.logout();})
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢

identityserver4 angular-oauth2-oidc

6
推荐指数
1
解决办法
3964
查看次数

CSP 扫描程序:OpenID Connect 会话管理端点的通配符指令警报

我们使用 ZAP 2.8 扫描使用 IdentityServer4(隐式流)实现的 Angular Web 应用程序。

它生成了通配符指令警报(如下所示),我不确定这是否是安全问题。

如果是安全问题,我们该怎么办?OpenID Connect 会话管理端点不是我们应用程序的一部分,它是 IdentityServer4 内置功能。有什么建议么?谢谢


中(中)CSP 扫描仪:通配符指令说明以下指令要么允许通配符源(或祖先),要么未定义,要么定义过于广泛:frame-ancestor

网址https://server103.abc.com:54231/services.identity/connect/checksession

方法获取

参数内容-安全-策略

证据default-src 'none'; 脚本-src 'sha256-ZT3q7lL9GXNGhPTB1Vvrvds2xw/kOV0zoeok2tiV23I='

content-security-policy openid-connect zap identityserver4

2
推荐指数
1
解决办法
9084
查看次数