关于sap:SAP-Spartacus-因为-refresh-token-刷新令牌过期后显示用户重新登录页面的逻辑

1次阅读

共计 662 个字符,预计需要花费 2 分钟才能阅读完成。

在 auth.interceptor.ts 里判断,token 是否过期:

isExpiredToken: 通过服务器端返回的谬误类型判断。

如果的确过期了,首先调用 handleExpiredToken, 返回的 Observable 对象,应用该 token,从新发送之前因为 token 过期而生效的申请:createNewRequestWithNewToken:

stream 是一个 BehaviorSubject:

this.oAuthLibWrapperService.refreshToken, 这个办法刷新的是 Access Token. 如果失败,阐明 refresh Token 也过期了,此时先调用第 135 行的代码,handleExpiredRefreshToken,先解决 refresh token 的过期问题。

refresh access token: 须要传旧的 refresh token,然而 response 里也返回了新的 refresh token.

Spartacus 显示 “Your session has expired. Please login again.” 的逻辑:

如果 refresh token 也过期了,只能从新登录了。

this.authService.coreLogout, 首先登出,而后 this.routingService.go({cxRoute: ‘login’});

把用户重定向到登录页面:

最初显示 session expired 的谬误提醒音讯,key 为:httpHandlers.sessionExpired

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0