首页 > 解决方案 > Docebo oAuth2 JWT 持有者 - 公钥无效?

问题描述

目前,我正在将 docebo API 与 python REST 客户端集成。在使用 JWT 持有者授予权限的 docebo 中创建 oAuth2 应用程序时,他们要求上传公钥。

我在mac上使用以下命令生成了公钥 ssh-keygen -t rsa -b 4096 -C <user id>

正如他们所提到的,公钥格式应该是

—–BEGIN PUBLIC KEY—–

MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgGOrtjv/oPcaWIQL7h3DwvGbWFhH
fAIP02pPPw1Cp8h0SUkmGAWUGKCNH2WuIeNxPlRZKmW86aivknrRtEN3QW6eEsFZ
ZSIKVmUPekKrSpvYmYwkTCnwCb4gpDu1ZPEde8VXhQjLRl7ielUktzzbXW7v1HmI
fDASHvMvIl4kwGA/AgMBAAE=

—–END PUBLIC KEY—–

据此,我已转换id_rsa.pubpublicKey.pem使用以下命令

ssh-keygen -f ~/.ssh/id_rsa.pub -m 'PEM' -e > publicKey.pem
chmod 600 public.pem

尽管如此,我还是无法在 oauth2 应用程序上上传 publicKey.pem。错误是Public key is invalid

关于这个的任何想法。谢谢!

标签: oauth-2.0jwtrsapublic-key-encryptionbearer-token

解决方案


这是一个迟到的答案。希望它可以帮助其他人。

我们使用开放 ssl ( https://www.openssl.org/source/ ) 解决了这个问题。运行以下命令并将 rsa_public.pem 导入 Docebo。

openssl genpkey -algorithm RSA -out rsa_private.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -in rsa_private.pem -pubout -out rsa_public.pem

推荐阅读