2

嗨,我在 Azure 服务器上运行 PHP CRM,我的要求是用户应该能够通过 CRM 站点将自己的自定义域(他们将单独进行 DNS 配置)添加到应用程序,是否有任何 REST API 调用来实现这一点,我搜索了很多,但找不到来自 Azure 的任何文档,我确实从堆栈中找到了这些以 编程方式将域名添加到 azure 网站

通过代码将域添加到 Azure 网站

我尝试使用 Chrome Postman 应用程序进行上述示例

应用程序(实例名称)名称名称为“示例”

https://management.azure.com/subscriptions/ {subscriptionId}/resourcegroups/{myResourceGroup}/providers/Microsoft.Web/sites/{instanceName}/config/web?api-version=2015-08-01”

使用 POST 和 PUT 方法

{“属性”:{“主机名”:“example.com,crm.example.com”}}

我尝试了这些方法,但我得到一个错误“身份验证失败。‘授权’标头不存在或以无效格式提供”,我认为 json 值有问题,

example.com.au 是我现有的网站,crm.example.com 是我要添加的域名,是否正确,我是否遗漏了什么,请帮助我

4

1 回答 1

1

由于您使用 Azure 资源管理器对资源执行的所有任务都必须通过 Azure Active Directory 进行身份验证。因此,要实现 Azure 资源管理器 Rest API,我们需要先按照验证 Azure 资源管理器请求中的步骤来设置身份验证。

一般来说:

  1. 将应用程序添加到 Azure Active Directory 租户。

  2. 为您添加的应用程序设置权限。

  3. 获取用于对 Azure 资源管理器的请求进行身份验证的令牌。

- 更新 -

要获取 Azure 资源管理器的访问令牌,我们应该按照授权代码授予流程中显示的步骤进行操作:

1、请求授权码 在此处输入图像描述 构建的URL会重定向到sso页面,登录后我们可以获取到code下一步使用的值。

2、使用授权码请求访问令牌: 在此处输入图像描述

3、我们可以利用access tokenREST API 来授权资源: 在此处输入图像描述

--更新1--

要创建没有用户 ui 应用程序的纯应用程序,您需要遵循 client_credentials 流程,如https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx所示。

对于您的授权问题,您需要分配所有者角色以获得书面许可。您可以利用 azure-cli 来执行此操作。

  1. 安装 Azure-CLI
  2. 连接到 Azure-CLI。
  3. 使用 Azure-CLI 向服务主体进行身份验证。 并且在本节的第 4 步中,您需要更改ReaderOwner,例如 azure role assignment create --objectId 47193a0a-63e4-46bd-9bee-6a9f6f9c03cb -o Owner -c /subscriptions/{subscriptionId}/分配书面许可。
于 2015-10-28T08:51:28.163 回答