php - 按租户和应用 ID 创建 Azure AD 用户
问题描述
如何使用 PHP 在 Azure AD 中通过客户端机密创建用户?
我需要下面代码中的访问令牌来创建用户。要拥有这个令牌,我需要先登录。如何在没有任何登录的情况下自动创建用户。
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://graph.microsoft.com/v1.0/users',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"accountEnabled": true,
"displayName": "Adele Vance",
"userPrincipalName": "adelev2@xxx.net",
"passwordProfile" : {
"forceChangePasswordNextSignIn": true,
"password": "xWwvJ]6NMw+bWH-d"
}
}',
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $accessToken",
"Content-Type: application/json"
),
));
解决方案
你可以参考这个示例,它使用了一个不需要用户登录的守护进程,并使用客户端凭证流获取访问令牌来调用MS graph api创建用户。您需要为应用程序授予User.ReadWrite.All application permissions
。
推荐阅读
- jsplumb - jsPlumb 流程图连接器布局方向更改为 5 倍
- jquery - 为什么我无法获得 select2 下拉列表的先前值
- flutter - 错误:LateInitializationError:本地“命令”尚未初始化。扑
- python - Matplotlib scatterplot animation
- sql - 如何在 Oracle SQL 19 中获得每月的第 5 个工作日?
- python-3.x - 获取 Pandas Dataframe 中具有 Null/Blank 值的行号和列名的索引
- javascript - ReferenceError: require 没有在 ES 模块范围内定义,你可以使用 import 代替 gulp sass
- r - 有没有办法在 R 中过滤 50% 的响应率?
- laravel - 使用带有 powershell 脚本的 websockets 或 ajax 来更新数据库
- cypress - Cypress 根据请求正文拦截相同的请求