0

NgRx 数据初学者

我已经在我的一个应用程序模块中实现了 NgRx 数据。一切正常,唯一担心的是我在 NgRx 数据配置模块中使用的 api 没有触发我在应用程序级别配置我的身份验证令牌的 HTTP 拦截器。

未配置 NgRx 的所有其他模块正在正确调用 HTTP 拦截器并正确设置 API 中的令牌。

是否强制将令牌存储在 NgRx 商店中,然后只有 API 会调用 HTTP 拦截器?

仅供参考。到目前为止,我没有使用 NgRX 存储来存储令牌,而是存储在本地存储中。

4

1 回答 1

0

从您没有任何代码片段的问题来看,很难理解实际问题。如果我清楚地理解它,您想在请求发送之前添加令牌。在这种情况下,您可能需要实施HttpInerceptor. 请参阅下面的代码片段。您可以从Bezocder查看更多信息,这应该可以解决您的问题。

intercept(req: HttpRequest<any>, next: HttpHandler) {
    let authReq = req;
    let jwt = sessionStorage.getItem('token');
    if (jwt != null) {
        // for Spring Boot back-end
        authReq = req.clone({ headers: req.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + jwt) });
    }
    return next.handle(authReq);
}
于 2022-01-31T14:17:55.087 回答