node.js - 如何以非交互方式从 node.js 服务器端使用 azure AD 身份验证
问题描述
我已经配置了 azure AD 服务和其中的一个用户,并使用 react-adal 来获取令牌,效果很好。但是现在我需要更改此流程,而是拥有自己的登录表单并将凭据发送到 node.js 快递服务器并在没有来自 azure 的登录弹出窗口的情况下从 azure ad 验证这些,并将返回的令牌存储在护照会话中。我尝试使用 node-adal 但不确定如何实现,可以这样做吗?有没有这方面的例子。谢谢
解决方案
有一种方法,但你不应该使用它。使用联合身份验证时,您不应处理密码。
一种可行的方法是传统迁移路径,称为 ROPC 流程。但是,这些都不起作用:
- 具有 MFA 的用户
- 从本地 AD 同步的用户
- 密码过期的用户
如果您想在后台以用户身份执行某些操作,请让他们登录并安全地存储他们的刷新令牌。您需要将前端访问令牌交换为后端访问令牌 + 刷新令牌。然后,您可以随时使用刷新令牌为用户获取新令牌。
或者,您可以要求对 API 的应用程序权限并使用 API 中的客户端凭据(客户端 ID + 机密/证书)访问它们。
推荐阅读
- amazon-web-services - AWS data pipeline get data from hive to s3
- botframework - 如果机器人连续 3 次尝试都无法回答,则显示消息“连接到客户服务”...dotnet core 3.1................MS Bot Framework
- c# - 开始了第二次操作……(但没有并行访问)
- firebase - 如何取消 Flutter 实时数据库事务
- php - Laravel 8:此集合实例上不存在属性 [名称]
- asp.net - 重定向到另一个网站后会话丢失 asp.net
- python - For循环有效,但不在python中求和
- javascript - 无法编译 Node-sass 不工作错误
- javascript - 在赛普拉斯中使用 invoke('text) 时,我的字符串值被截断为零
- python - 如何找出数据框列表中的每个元素是否包含向量的单独元素?