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