php - 通过代码添加多个域Azure应用程序

标签 php azure azure-web-app-service azure-resource-manager

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

Add a domain to an Azure web site via code

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

应用程序(instanceName)名称名称是“example”

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

同时使用 POST 和 PUT 方法

{ "properties": { "HostNames":"example.com, crm.example.com" } }

我尝试了这些方法,但都收到错误“身份验证失败。‘授权’ header 不存在或以无效格式提供”,我相信 json 值有问题,

example.com.au 是我现有的网站,crm.example.com 是我要添加的域名,它是否正确,我是否缺少任何内容,请帮助我

最佳答案

因为使用 Azure 资源管理器对资源执行的所有任务都必须通过 Azure Active Directory 进行身份验证。因此,要实现 Azure 资源管理器 Rest API,我们需要按照 authenticate Azure Recourse Manager requests 中的步骤操作。首先设置身份验证。

一般情况下:

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

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

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

--更新--

要获取 Azure 资源管理器的访问 token ,我们应该按照Authorization Code Grant Flow中显示的步骤进行操作。 :

1,请求授权码 enter image description here 构建的 URL 将重定向到 sso 页面,登录后我们可以获取下一步使用的 code 值。

2、使用授权码请求Access Token: enter image description here

3,我们可以利用访问 token 来授权资源REST API: enter image description here

--更新1--

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

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

  1. Install the Azure-CLI .
  2. Connect to the Azure-CLI.
  3. Authenticate to your Service Principal using the Azure-CLI. 在本节的第 4 步中,您需要将 Reader 更改为 Owner, 喜欢 azure 角色分配 create --objectId 47193a0a-63e4-46bd-9bee-6a9f6f9c03cb -o Owner -c/subscriptions/{subscriptionId}/ 用于分配写入权限。

关于php - 通过代码添加多个域Azure应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33383583/

相关文章:

c# - 以编程方式设置 Application Insights 检测键会引发错误

php - 如何将数组存储在文件中以便稍后使用 PHP 作为数组访问?

azure - Visual Studio 更新后仅本地 ADLA 帐户可用

Azure 逻辑应用程序用于更改我的函数应用程序的始终就绪实例的数量(弹性高级计划 EP1)

用于 Azure 应用服务的基于 MongoDb 的容器

azure - 部署后清理包文件夹

php - 我可以将用户名和密码安全地存储在 PHP session 变量中吗?

php - 上传不带扩展名的文件 yii2

php - MYSQL Update 只返回 TRUE,不返回 FALSE?

azure - 部署 DocumentDb 帐户后无法直接连接到 DocumentDb