我可以使用 API 生成 Azure AD 客户端凭据密钥吗?

问题描述 投票:0回答:3

我想使用我的 Azure AD 应用程序注册来创建多个客户端密钥。我陷入了两个问题,并且无法找到有关这些问题的任何文档:

  1. 是否有 API(图形或任何其他)可用于自动生成和删除客户端密钥?
  2. 单个应用程序中可以有多少个客户端密钥?
azure azure-active-directory azure-ad-graph-api
3个回答
1
投票

是否有一个 API(图形或任何其他)我可以用来自动化
生成和删除客户端凭证秘密?

您可以通过调用 添加密码 api 生成客户端密钥,或通过调用 删除密码 api 删除客户端密钥。

请注意api中的

{id}
Object ID

一个客户秘密的数量是否有限制? 单个应用程序?

取决于您的应用是否支持个人账户登录。如果您的应用程序支持个人帐户登录,则最多只能创建两个客户端密钥。

如果您的应用程序仅支持工作帐户登录,则创建的客户端密钥数量将没有限制。

您可以通过查看应用程序的manifest了解或修改应用程序支持的账户类型。它是清单中的 signInAudience 属性。


1
投票

您可以使用以下示例代码来生成应用程序凭据:

var graphClient = new GraphServiceClient( authProvider );

var passwordCredential = new PasswordCredential
{
    DisplayName = "Password name"
};

await graphClient.Applications["{application-id}"]
    .AddPassword(passwordCredential)
    .Request()
    .PostAsync();

API参考


0
投票

使用 github 操作:

name: Azure App Registration - Bolivia
on:
  workflow_dispatch:

jobs:
  certificate-secret:
    name: Renew Secret
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Renew Secret
        env:
          CLIENT_ID: ${{ secrets.AZURE_APP_REGISTRATIONS_CLIENT_ID }}
          CLIENT_SECRET: ${{ secrets.AZURE_APP_REGISTRATIONS_CLIENT_SECRET }}
          TENANT_ID: ${{ secrets.AZURE_APP_REGISTRATIONS_TENANT_ID }}
        run: |
          TOKEN=$(curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
            -d "client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}&grant_type=client_credentials&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default" \
            https://login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/token | \
            python3 -c "import sys, json; print(json.load(sys.stdin)['access_token'])")
      
           OBJECT_ID=23cfbbde-xxxx-xxxx-xxxx-xxxxxxxxxx

           curl -X POST -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
             --data '{"passwordCredential": {"displayName": "Enable only 2 years"}}' \
          https://graph.microsoft.com/v1.0/applications/${OBJECT_ID}/addPassword
© www.soinside.com 2019 - 2024. All rights reserved.