登录获取Token时遇issuer需用HTTPS或设requireHttps为false错误
问题
测试应用获取Token时,登录控制台抛出错误:
Error issuer must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS)
错误截图:
当前environment.ts配置代码:
export const environment = { production: false, auth: { issuer: 'https://extraxxx.xxxxx', // 身份提供商URL clientId: 'xxxxx', // 客户端ID postLogoutRedirectUri: 'https://localhost:4200/', // 登出后重定向URL redirectUri: window.location.origin + "/login-callback", silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html', // 静默刷新后重定向URL scope: 'openid profile logistack_apps authorization', // 权限范围 requireHttps: false, disableAtHashCheck: true, responseType: 'id_token token', // 响应类型 preserveRequestedRoute: true, // 重定向时保留请求路由 oidc: true, showDebugInformation: true, clearHashAfterLogin: true, strictDiscoveryDocumentValidation: false, }, url: "https://localhost:7152" };
解决办法
- 核对issuer地址的实际协议:你配置的issuer是HTTPS地址,但报错提示HTTPS相关问题,先直接访问该issuer地址,确认它是有效的HTTPS服务(浏览器地址栏显示安全锁标,无证书警告)。如果实际是HTTP服务,要么切换为HTTPS,要么确保
requireHttps: false配置生效。 - 确认requireHttps配置未被覆盖:虽然已设置
requireHttps: false,但部分OIDC库可能存在配置优先级问题,检查是否有全局配置或其他代码覆盖了这个值。同时保持strictDiscoveryDocumentValidation: false,避免严格校验发现文档的HTTPS要求。 - 检查身份提供商的发现文档:访问
issuer地址/.well-known/openid-configuration,确认文档中的issuer字段和你配置的一致,且为HTTPS协议。如果发现文档里的issuer是HTTP,即使你配置了HTTPS也会触发错误。 - 利用调试信息定位问题:已开启
showDebugInformation: true,查看控制台的OIDC调试日志,重点关注发现文档加载内容、issuer校验流程,找到触发HTTPS要求的具体环节。
内容的提问来源于stack exchange,提问作者Willian
相关产品推荐
相关产品推荐

