angular - 用户登录后如何设置令牌?
问题描述
我对 Cube.JS 有疑问:
一个非常常见的用例是仅在用户通过我的应用程序身份验证后才请求 CubeJS 令牌。然后我可以提供一个令牌初始化 CubeJS。
它在文档(https://cube.dev/docs/@cubejs-client-ngx#api)上的方式,您在 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);
}
推荐阅读
- laravel - Vuejs Laravel Passport - 如果访问令牌过期我该怎么办?
- php - 如何从 php 延迟承诺中返回
- angular - 在 Google App Script(Google doc Add-on)中运行 Angular 7 时出错
- javascript - 静态三角图的逻辑
- javascript - 跟踪对同一元素的多次点击
- java - Spring Security 仅使用用户名登录并设置角色而不使用密码
- react-native - 在 react-native post 中获取错误响应和空数据数组将数据保存到服务器
- java - YML 到 XML JAVA 对象转换
- r - 将因子 ddmmyyyy:ss:mm:hh 转换为 R 中的 ddmmyyyy 格式
- python - CV2 在一段时间后开始拍摄 emty 图像