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

Power Pages门户Auth Token公钥验证失败问题求助

排查自签名证书JWT签名验证失败问题

一、先修复PowerShell证书创建脚本中的明显错误

原脚本存在未赋值$thumbprint变量的问题,导致导出的证书可能无效,同时部分参数可能不兼容Power Platform的要求,修复后的脚本如下:

$certificateName = "powerpages.yourdomain.com"
$certPassword = ConvertTo-SecureString -String 'YourStrongPassword123!' -Force -AsPlainText

$certificate = New-SelfSignedCertificate `
   -Type Custom `
   -CertStoreLocation "Cert:\CurrentUser\My" `
   -DnsName $certificateName `
   -Subject "CN=$certificateName" `
   -KeyLength 2048 `
   -KeyAlgorithm RSA `
   -HashAlgorithm SHA256 `
   -NotAfter (Get-Date).AddYears(5) `
   -KeyExportPolicy Exportable `
   -KeySpec KeyExchange # 替换原Signature,支持密钥交换/签名操作

# 新增:获取证书指纹并赋值
$thumbprint = $certificate.Thumbprint

Export-PfxCertificate `
   -Cert "Cert:\CurrentUser\My\$thumbprint" `
   -FilePath "C:\certificates\powerpages.pfx" `
   -Password $certPassword `
   -CryptoAlgorithmOption AES256_SHA256 # 替换TripleDES_SHA1,使用更兼容的加密算法

二、关键排查步骤

  1. 确认证书配置与Power Platform绑定
    • 重新上传修复后的PFX文件到Power Platform管理中心,确保证书状态为「启用」,且绑定到目标环境/应用。
  2. 校验公钥一致性
    • 从本地证书导出CER格式公钥:
      Get-ChildItem Cert:\CurrentUser\My\$thumbprint | Export-Certificate -FilePath C:\certificates\powerpages.cer -Type CERT
      
    • 将CER文件转换为PEM格式,与/_services/auth/publickey返回的公钥内容对比(注意去除换行和首尾标记后比对核心内容),确保两者一致。
  3. 检查JWT头部算法
    • 解析/_services/auth/token返回的JWT,查看header中的alg字段是否为RS256(与证书的SHA256哈希算法匹配),若为其他值(如HS256)则会导致验证失败。
  4. 验证jwt.io的公钥格式
    • 在jwt.io验证时,确保粘贴的公钥是完整的PEM格式(包含-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----标记),避免格式缺失或错误。

内容的提问来源于stack exchange,提问作者Ayush Mishra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 02:23:18