Angular 用户登录应用后如何设置令牌?

Angular 用户登录应用后如何设置令牌?,angular,cube.js,Angular,Cube.js,我对Cube.JS有问题: 一个非常常见的用例是,只有在用户通过我的应用程序的身份验证后,才请求CubeJS令牌。然后我可以提供一个令牌初始化CubeJS 按照docs()上的方式,您可以在app.module上设置配置,因此,在用户有机会登录到应用程序之前 在我知道用户是谁之后(在他通过我的应用程序的身份验证之后),我将如何设置令牌?如果我理解你的意思,你只需要像这样的拦截器: intercept(req: HttpRequest<any>, next: HttpHandler):

我对Cube.JS有问题:

一个非常常见的用例是,只有在用户通过我的应用程序的身份验证后,才请求CubeJS令牌。然后我可以提供一个令牌初始化CubeJS

按照docs()上的方式,您可以在app.module上设置配置,因此,在用户有机会登录到应用程序之前


在我知道用户是谁之后(在他通过我的应用程序的身份验证之后),我将如何设置令牌?

如果我理解你的意思,你只需要像这样的拦截器:

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

    if (!req.url.toLowerCase().endsWith('/login')
        && req.url.toLowerCase().indexOf('/authenticate') <= 0
        && req.url.toLowerCase().indexOf('/i18n/') <= 0) {
        // Get the auth header from the service.
        const authHeader = this.tokenService.getBearerToken();
        const authReq = req.clone({
             headers: new HttpHeaders({
            'Content-Type':  'application/json',
            'Authorization': authHeader,
            'Accept': '*'
          })}
        );
        return next.handle(authReq);
    }

    return next.handle(req);
}
intercept(req:HttpRequest,next:HttpHandler):可观察{
如果(!req.url.toLowerCase().endsWith('/login'))

&&CubeJS库可能不使用HttpClient,因此它不会被拦截器捕获:(但感谢您的帮助!