配置 ADAL 时 Pulumi AD Application 和 Azure Function 循环依赖
Pulumi AD Application and Azure Function circular dependency when configuring ADAL
我正在设置一个带有 ADAL 身份验证的 azure 函数,我遇到了 pulumi 的一个问题,因为函数应用需要创建广告应用,然后广告应用需要创建函数应用才能设置回复 url.
const adAppName = `${projectName}-${env}`
const adApp = new azuread.Application(adAppName, {
name: adAppName,
requiredResourceAccesses: [
{
resourceAccesses: [
{
id: "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
type: "Scope",
},
],
resourceAppId: "00000002-0000-0000-c000-000000000000",
}
],
replyUrls: [ 'https://myapp.azurewebsites.net/.auth/login/aad/callback' ] // This url is hardcoded
});
const appFunctionName = `${projectName}-${env}`;
const appFunction = new azure.appservice.FunctionApp(appFunctionName, {
...resourceGroupArgs,
name: appFunctionName,
appServicePlanId: appServicePlan.id,
authSettings: {
enabled: true,
unauthenticatedClientAction: 'RedirectToLoginPage',
defaultProvider: 'AzureActiveDirectory',
issuer: `https://sts.windows.net/${azure.config.tenantId}/`,
activeDirectory: {
clientId: adApp.applicationId
}
},
storageConnectionString: storageAccount.primaryConnectionString,
version: '~2',
appSettings: appSettings,
});
我们如何解决这种循环引用?我想使用 appFunction url.
的值创建 replyUrls
谢谢
我认为没有办法解决这种循环依赖。
但是由于您有一个应用服务的固定名称,它的 URL 是可以预测的。您可以将 appFunctionName
声明移到顶部,然后在 replyUrls
赋值中使用它:
replyUrls: [ `https://${appFunctionName}.azurewebsites.net/.auth/login/aad/callback` ]
我看不出这样做有什么坏处。无论如何,您都必须格式化此 URL,与使用 defaultHostName
.
相比,现在您只得到一个额外的 .azurewebsites.net
位
我正在设置一个带有 ADAL 身份验证的 azure 函数,我遇到了 pulumi 的一个问题,因为函数应用需要创建广告应用,然后广告应用需要创建函数应用才能设置回复 url.
const adAppName = `${projectName}-${env}`
const adApp = new azuread.Application(adAppName, {
name: adAppName,
requiredResourceAccesses: [
{
resourceAccesses: [
{
id: "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
type: "Scope",
},
],
resourceAppId: "00000002-0000-0000-c000-000000000000",
}
],
replyUrls: [ 'https://myapp.azurewebsites.net/.auth/login/aad/callback' ] // This url is hardcoded
});
const appFunctionName = `${projectName}-${env}`;
const appFunction = new azure.appservice.FunctionApp(appFunctionName, {
...resourceGroupArgs,
name: appFunctionName,
appServicePlanId: appServicePlan.id,
authSettings: {
enabled: true,
unauthenticatedClientAction: 'RedirectToLoginPage',
defaultProvider: 'AzureActiveDirectory',
issuer: `https://sts.windows.net/${azure.config.tenantId}/`,
activeDirectory: {
clientId: adApp.applicationId
}
},
storageConnectionString: storageAccount.primaryConnectionString,
version: '~2',
appSettings: appSettings,
});
我们如何解决这种循环引用?我想使用 appFunction url.
的值创建 replyUrls谢谢
我认为没有办法解决这种循环依赖。
但是由于您有一个应用服务的固定名称,它的 URL 是可以预测的。您可以将 appFunctionName
声明移到顶部,然后在 replyUrls
赋值中使用它:
replyUrls: [ `https://${appFunctionName}.azurewebsites.net/.auth/login/aad/callback` ]
我看不出这样做有什么坏处。无论如何,您都必须格式化此 URL,与使用 defaultHostName
.
.azurewebsites.net
位