【问题标题】:HTTP Interceptor not sending firebase auth tokenHTTP拦截器不发送firebase身份验证令牌
【发布时间】:2021-06-10 02:52:09
【问题描述】:

我有一个 go web 服务器,我从我的应用程序向它发送请求。我编写了一个 HTTP 拦截器,以便附加 firebase 提供的身份验证令牌,以便我可以在我的 Go Web 服务器上验证它。出于某种原因,拦截器似乎没有更改请求的标头以附加身份验证令牌。

intercept(req: HttpRequest<any>, next: HttpHandler){
            return from(this.auth.auth.currentUser.getIdToken()).pipe(switchMap(token => {
                if(token){
                    const authReq = req.clone({
                        setHeaders: {
                            'Content-Type': 'application/json',
                             Authorization: token,
                            'Access-Control-Allow-Origin': '*'
                        }
                    });
                    return next.handle(authReq);
                }
                return next.handle(req);
                })
            );
        return next.handle(req);
    }

这在一个名为 AuthHandler 的服务中,它实现了 HTTPInterceptor。任何帮助,将不胜感激!我正在使用 angularfire 5.4 版和 angular9

【问题讨论】:

    标签: angular firebase-authentication angularfire angular-httpclient


    【解决方案1】:

    原来我的问题不在于 firebase,而在于设置拦截器。这个link 非常有用。本质上,您必须在应用模块的提供程序部分中包含服务类。

    import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
    (...)
      providers: [
        { provide: HTTP_INTERCEPTORS, useClass: MyInterceptor, multi: true }
      ],
    

    【讨论】:

      猜你喜欢
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 2018-12-05
      • 2013-08-19
      • 2015-03-24
      • 1970-01-01
      • 2019-11-13
      相关资源
      最近更新 更多