angular - Angular + OIDC 隐式流静默更新
问题描述
我正在使用angular-auth-oidc-client包在我的 Angular 应用程序中与我们的 OIDC 服务器进行身份验证。我们使用隐式流程,它可以工作,但是我们的一些用户在访问令牌生命周期结束时在应用程序中执行操作时会被注销。所以我们想要实现 Silent Renew 功能,该功能在包的文档中有详细说明。
因此,我添加了一个silent-renew.html
文件并将其放置在/src
Angular 应用程序的文件夹中,并尝试将其放置在该/assets
文件夹中。在/assets
文件夹中时,我在控制台中收到 Angular 应用程序找不到匹配路由的错误:
它只出现一次,并且静默更新不起作用;你仍然被注销。如果它在/assets
文件夹中,则不会出现错误,但静默更新仍然不起作用。
我真正的问题是:我在哪里放置silent-renew.html
文件以及如何正确配置包以进行静默更新?
部署后,我们构建 Angular 应用程序并将其放置在由 NGINX 提供服务的 docker 容器中。在本地,我们只是使用 CLI 为应用程序提供服务。
解决方案
您可以按如下方式修改 angular.json:
{
"projects": {
"test2": {
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"assets": [
"src/silent-renew.html" // <-- add this line
],
},
},
}
}
}
}
当然,您必须有一个名为silent-renew.html
.
进行构建时,此文件将被复制dist
到index.html
.
希望这可以帮助
费边
推荐阅读
- treeview - Vala 中的 Gtk.TreeView 可编辑列
- laravel - Laravel,其中仅检查最新的关系记录
- facebook - 使用 hello.js 获取 Facebook 用户配置文件链接
- javascript - 在 iframe 中查找父元素
- sql - 选择 * 按不同的列分组
- sql - SQL - 搜索 2 个表中的 sum(amount) 列不相等的情况
- java - 如果 Array 位于 Arraylist 中,则访问 Array 中的元素。
- python - 安装魔法虫洞给出错误代码 1
- docker - 使用 Traefik 的 Docker 容器内部与外部 dns 解析问题
- php - 创建订单后如何检索客户电子邮件 - Laravel & Shopify