通过代码设置应用程序注册(Azure AD)?

时间:2020-04-17 15:36:37

标签: javascript c# azure curl azure-active-directory

我正在为一家使用SSO解决方案(Auth0)允许客户公司使用其现有登录名访问我们的应用程序的公司工作。我们的许多客户都使用Azure AD作为其授权服务器。

我们通过天蓝色门户使一切正常运行。我们设置了一个应用程序注册,然后在我们的SSO解决方案(域,客户端ID和生成的机密)中使用它进行连接。一切都很好。

但是,我们有多个客户,这使我们的一些客户无法轻松遵循我们的指导来设置应用程序注册成为一个问题,因此我们正在研究可以采取哪些步骤自动化为他们设置应用程序注册的过程。

我们已经有一些脚本已使用node来设置其他授权服务器(Okta ...)。我们已经在node中编写了这些代码,因此理想情况下,我们希望继续进行并编写解决方案以通过javascript创建应用注册(具有权限和生成密钥)。

如果需要,我们愿意使用其他语言(C#?)。 如果有rest api,我们可以轻松地从curl(或其他restful接口)示例进行工作。实际上,如果有指向rest api的指针可能会很好地工作。

任何人都有做这种事情的经验或教程吗?很想看到一个可行的例子。

TLDR寻找在节点(curl或C#)中创建应用注册(具有权限并生成密钥)的教程

2 个答案:

答案 0 :(得分:1)

您可以使用Microsoft Graph API:Create application创建Azure AD应用程序。

请参见C#示例代码here

以下是休息样本供您参考:

POST https://graph.microsoft.com/v1.0/applications
Content-type: application/json
Content-length: 67

{
  "displayName": "allentestapp003",
  "requiredResourceAccess": [
        {
            "resourceAppId": "00000003-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "465a38f9-76ea-45b9-9f34-9e8b0d4b0b42",
                    "type": "Scope"
                },
                {
                    "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
                    "type": "Scope"
                },
                {
                    "id": "798ee544-9d2d-430c-a058-570e29e34338",
                    "type": "Role"
                }
            ]
        }
    ]
}

您应将requiredResourceAccess指定为Azure AD应用程序的权限。 (在此示例中,权限适用于Microsoft Graph,00000003-0000-0000-c000-000000000000是Microsoft Graph应用程序的应用程序ID)

要生成密钥,您需要使用application: addPassword。请参阅C#示例代码here

答案 1 :(得分:0)

我知道这篇文章很旧,但我也在做同样的事情。但我不知道如何创建 authProvider。如果可能的话,我正在寻找什么。在我的 Web 应用程序中单击“注册应用程序”按钮。这会提示他们登录 Azure AD 并请求生成 Azure AD 应用程序的权限,然后创建密钥。

如果有人有代码示例展示如何做到这一点,那就太好了。谢谢。