将 AAD 用户添加到没有密码的 Azure API 目录

Add AAD user to Azure API catalog without password

我需要以编程方式将用户帐户添加到 Azure API 目录门户。 我使用包 Microsoft.Azure.Management.ApiManagement (3.4) 中的 ApiManagementClient class 并且如果集合 Users 没有具有特定电子邮件的用户(Azure Active Directory 有一个用户名是我们公司的用户电子邮件,对于我们在 Active Directory 中或内部 Active Directory 中的每个用户) 然后我会尝试调用 Users.CreateAsync,它将采用 UserCreateParameters 类型的参数,该参数由电子邮件、名字、姓氏、状态和密码组成。

这里的问题是我的用户已被管理员手动添加到门户并且不需要我的密码(因为它是 AAD 用户) 但是如果我不提供密码,这个方法不会让我创建一个新用户。

如何在不知道密码的情况下通过代码将 AAD 用户添加到 API 目录。否则,我将无法为尚未添加到门户的用户添加 API 订阅。

我们正在开发一个新的 nuget 包,它支持该功能。现在,您可以使用其余的 api https://docs.microsoft.com/en-us/rest/api/apimanagement/user/createorupdate

但是您需要知道用户在 AAD 系统中的唯一 ID。上面的操作将创建一个可以使用 AAD 或 Basic Auth 登录的用户。

{ "properties": { "firstName": "foo", "lastName": "bar", "email": "foobar@mytenant.onmicrosoft.com" "identities" :[ "provider": "Aad", "id": "<unique id in AAd Tenant>" ] } }