首页 > 解决方案 > 如何以非交互方式从 node.js 服务器端使用 azure AD 身份验证

问题描述

我已经配置了 azure AD 服务和其中的一个用户,并使用 react-adal 来获取令牌,效果很好。但是现在我需要更改此流程,而是拥有自己的登录表单并将凭据发送到 node.js 快递服务器并在没有来自 azure 的登录弹出窗口的情况下从 azure ad 验证这些,并将返回的令牌存储在护照会话中。我尝试使用 node-adal 但不确定如何实现,可以这样做吗?有没有这方面的例子。谢谢

标签: node.jsazureazure-active-directoryadal

解决方案


有一种方法,但你不应该使用它。使用联合身份验证时,您不应处理密码。

一种可行的方法是传统迁移路径,称为 ROPC 流程。但是,这些都不起作用:

  • 具有 MFA 的用户
  • 从本地 AD 同步的用户
  • 密码过期的用户

如果您想在后台以用户身份执行某些操作,请让他们登录并安全地存储他们的刷新令牌。您需要将前端访问令牌交换为后端访问令牌 + 刷新令牌。然后,您可以随时使用刷新令牌为用户获取新令牌。

或者,您可以要求对 API 的应用程序权限并使用 API 中的客户端凭据(客户端 ID + 机密/证书)访问它们。


推荐阅读