angular - 将访问令牌刷新并保存到会话存储中
问题描述
当我获取存储在 JSON 文件中的访问令牌时,对于每个时间间隔,大约 5 秒,它需要检索或刷新访问令牌并将其存储在会话变量中
登录组件.ts
ngOnInit() {
if(! sessionStorage.getItem("token")){
// this.api.getconfigfile().then((config) => {
// //console.log(config);
// this.api.getaccesstokenkey();
// });
this.api.testing();
this.api.getaccesstokenkey();
}
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
}
api.service.ts
constructor( private http : HttpClient ,private router: Router,private route: ActivatedRoute,private alertService: AlertService ) {
this.accessToken=JSON.parse(sessionStorage.getItem("token"));
this.configjson=JSON.parse(sessionStorage.getItem("config"));
}
testing(){
const myJWTProperties = {
iss: "omrxdevappengineforui@still-fact-237402.iam.gserviceaccount.com",
aud: "https://www.googleapis.com/oauth2/v4/token",
iat: Math.floor(new Date().getTime() / 1000),
exp: 3600,
target_audience: "117661587724577164884",
}
getconfigfile() : Promise<any>{
let promise = new Promise((resolve, reject) => {
let apiURL = "./assets/configfile.json";
this.http.get(apiURL).toPromise().then(
res => {
// Success
this.configjson = res;
sessionStorage.setItem("config",JSON.stringify(this.configjson));
resolve();
},
msg => {
// Error
reject(msg);
}
);
});
return promise;
}
getaccesstokenkey(){
let promise = new Promise((resolve, reject) => {
let apiURL = "./assets/accesskey.json";
this.http.get(apiURL).toPromise().then(
res => {
// Success
this.accessTokenKey = res;
this.getaccesstoken();
resolve();
},
msg => {
// Error
reject(msg);
}
);
});
return promise;
}
我应该如何包含 Window setInterval() 或任何其他内置的角度函数来完成相同的操作?
解决方案
推荐阅读
- html - 是否可以在 DocBook 5 中创建和使用模板结构?
- reactjs - 了解从目录导入模块的 React.js 导入语句
- node.js - 使用 npm 模块 activedirectory 时出错:“TypeError:activedirectory 不是构造函数”
- python - 如何防止 keras 自定义损失函数中的负面预测
- android - 找不到参数的方法 implementation() [android.arch.lifecycle:extensions:1.1.1]
- laravel - “未定义索引:密码” laravel 5.6
- fn - 如何将驱动程序从 Docker 更改为 Mocker
- angular - 角度 - 打字稿错误类型AnimatesDirective
- c# - 异步操作的锁定替代方案
- javascript - 如何将此表单放入 AJAX 请求中