基于 Azure AD 证书的身份验证:如何在 Node JS 中指定证书路径?

Posted

技术标签:

【中文标题】基于 Azure AD 证书的身份验证:如何在 Node JS 中指定证书路径?【英文标题】:Azure AD certificate based authentication: How do I specify the certificate path in Node JS? 【发布时间】:2020-09-22 04:10:35 【问题描述】:

我第一次为使用 Azure AD 托管的应用实现通过 Node JS 的基于证书的身份验证流程

我的目标是根据我已经使用应用服务 > TLS/SSL 设置上传到我的 AD 应用的 .pfx 证书(X.509 格式)生成 client_assertion (as documented here)。

问题:当我的 Node 应用程序部署在服务器上时,它将如何引用该证书的路径?它的正确相对路径是什么?

我指的是this blog 和this SO answer。在这两个帖子中,证书都存储在本地,这让我感到困惑,因为我不确定部署后它将如何工作。 从上面的帖子:

var fs = require(‘fs’);
var cert = fs.readFileSync(‘key.pem’); //<-- how to use the AD app certificate path here?

【问题讨论】:

嗨,这个问题有什么更新吗? 嘿,感谢您的跟进,但问题是我无法将证书保存在同一台服务器上,来自安全性 pov 【参考方案1】:

即使您已经在门户中上传了证书,您仍然需要通过 SFTP 将证书上传到服务器上的私有文件夹,然后使用下面的代码。

var cert = fs.readFileSync('path-to-private-folder/key.pem');

更多详情,您可以查看similar issue。

【讨论】:

以上是关于基于 Azure AD 证书的身份验证:如何在 Node JS 中指定证书路径?的主要内容,如果未能解决你的问题,请参考以下文章

使用 KeyVault 和 Azure PowerShell 证书身份验证创建 Azure AD 应用程序

如何搭建一套Azure AD与ADFS集成身份的环境

如何通过 Azure AD B2C 使用身份验证功能在 Azure Web App 上添加身份验证?

如何在 ASP.NET Core 3 上同时使用 Azure AD 身份验证和身份?

当用户的 AD 身份验证失败时如何导航到自定义访问被拒绝页面(.net 3.1 核心与 OpenIDConnect Azure AD 身份验证)

如何使用身份服务器 3 和 microsoft 团队应用程序使用 Azure AD 令牌进行身份验证