You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需额外Angular库对接IdentityServer4/5的技术问题咨询

解答

1. 浏览器端存放client id与client secret的安全性

  • client id属于OIDC客户端的公开标识,设计上就允许公开暴露,放在浏览器端不存在安全问题。
  • client secret绝对不能存放在浏览器端,你看到的示例如果在前端代码中嵌入secret属于错误用法。针对SPA场景的标准授权码流+PKCE模式本身就不需要使用client secret,IdentityServer4/5原生支持该模式,完全不需要把secret暴露到公网环境。

2. 对接IdentityServer4/5的实现方案选择

不需要强制在Angular客户端实现认证逻辑,你提到的「仅服务端作为client、所有客户端请求透传至服务端处理」的方案完全可行,这就是当前业内更推荐的BFF(Backend For Frontend)认证架构,相比纯前端实现的方案安全性更高:

  • 所有敏感凭证(access token、refresh token)全部存储在服务端,不会暴露给前端JS运行环境,能大幅降低XSS攻击导致的凭证泄露风险
  • 前端不需要引入任何OIDC相关依赖,只需要和自有后端交互,认证逻辑全部收敛在服务端,维护成本更低
  • 你可以直接使用.NET Core官方的OIDC认证处理程序对接IdentityServer,配置为Cookie认证模式,前端请求自动携带Cookie即可,后端负责完成认证、令牌刷新、请求透传的全流程,对前端完全透明。

如果你的两个站点需要统一认证逻辑,也可以额外部署统一的认证网关作为BFF层,统一处理两个站点的所有认证相关请求。

内容的提问来源于stack exchange,提问作者Aiham Abu Rafaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:57:02