乐趣区

关于sap:SAP-Spartacus-会使用-Session-timeout-吗

问题:Where to configure session timeout in Spartacus

答案

我假如您应用 Hybris OAuth 服务器的默认身份验证流程(明码流程)。在这种状况下,会话长度是通过后盾的 OAuth 客户端设置来管制的。

然而,要晓得会话何时到期,您能够查看令牌无效负载 (AuthStorageService.getToken)。属性之一是到期工夫,可用于理解会话何时理论完结。

Marcin is correct. Spartacus is 100% API driven, interacting with Commerce backend by sending request to configured endpoints. These endpoints require an access token to be sent with the request, and this access token needs to be retrieved by following the Client Credentials Flow that is defined by the OAuth specification.

As long as you log in successfully, you can find access token issued by Commerce backend in Chrome dev tools, application tab -> Local storage as highlighted below:

the field expires_at stores the value of exact date and time when token will be expired.

you can use the code below in console to convert it to human readable string:

new Date(1627660784476).toGMTString();

You can control the token time-to-live value via configuration in backoffice by property: oauth2.accessTokenValiditySeconds

See document for detail:

https://help.sap.com/viewer/d…

if you need to code in Spartacus to know when the token will be expired, inject AuthStorageService in your app.module.ts, and then access expires_at property of result returned by getToken method.

export class AppModule {constructor(private authService: AuthStorageService){const token: Observable<AuthToken> = this.authService.getToken();

    token.subscribe((token) => console.log('expire at:' , token.expires_at));
  }
}

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

退出移动版