96 строки
2.9 KiB
TypeScript
96 строки
2.9 KiB
TypeScript
/*
|
|
* Copyright (c) Microsoft Corporation.
|
|
* Licensed under the MIT License.
|
|
*
|
|
* Code generated by Microsoft (R) AutoRest Code Generator.
|
|
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
|
*/
|
|
|
|
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT License.
|
|
import {
|
|
SiteAuthSettingsV2,
|
|
WebSiteManagementClient,
|
|
} from "@azure/arm-appservice";
|
|
import { DefaultAzureCredential } from "@azure/identity";
|
|
import * as dotenv from "dotenv";
|
|
|
|
dotenv.config();
|
|
|
|
/**
|
|
* This sample demonstrates how to Description for Updates site's Authentication / Authorization settings for apps via the V2 format
|
|
*
|
|
* @summary Description for Updates site's Authentication / Authorization settings for apps via the V2 format
|
|
* x-ms-original-file: specification/web/resource-manager/Microsoft.Web/stable/2023-12-01/examples/UpdateAuthSettingsV2.json
|
|
*/
|
|
async function updateAuthSettingsV2() {
|
|
const subscriptionId =
|
|
process.env["APPSERVICE_SUBSCRIPTION_ID"] ||
|
|
"34adfa4f-cedf-4dc0-ba29-b6d1a69ab345";
|
|
const resourceGroupName =
|
|
process.env["APPSERVICE_RESOURCE_GROUP"] || "testrg123";
|
|
const name = "sitef6141";
|
|
const siteAuthSettingsV2: SiteAuthSettingsV2 = {
|
|
globalValidation: {
|
|
excludedPaths: ["/nosecrets/Path"],
|
|
requireAuthentication: true,
|
|
unauthenticatedClientAction: "Return403",
|
|
},
|
|
httpSettings: {
|
|
forwardProxy: {
|
|
convention: "Standard",
|
|
customHostHeaderName: "authHeader",
|
|
customProtoHeaderName: "customProtoHeader",
|
|
},
|
|
requireHttps: true,
|
|
routes: { apiPrefix: "/authv2/" },
|
|
},
|
|
identityProviders: {
|
|
google: {
|
|
enabled: true,
|
|
login: { scopes: ["admin"] },
|
|
registration: {
|
|
clientId:
|
|
"42d795a9-8abb-4d06-8534-39528af40f8e.apps.googleusercontent.com",
|
|
clientSecretSettingName: "ClientSecret",
|
|
},
|
|
validation: { allowedAudiences: ["https://example.com"] },
|
|
},
|
|
},
|
|
login: {
|
|
allowedExternalRedirectUrls: ["https://someurl.com"],
|
|
cookieExpiration: {
|
|
convention: "IdentityProviderDerived",
|
|
timeToExpiration: "2022:09-01T00:00Z",
|
|
},
|
|
nonce: { validateNonce: true },
|
|
preserveUrlFragmentsForLogins: true,
|
|
routes: { logoutEndpoint: "https://app.com/logout" },
|
|
tokenStore: {
|
|
enabled: true,
|
|
fileSystem: { directory: "/wwwroot/sites/example" },
|
|
tokenRefreshExtensionHours: 96,
|
|
},
|
|
},
|
|
platform: {
|
|
configFilePath: "/auth/config.json",
|
|
enabled: true,
|
|
runtimeVersion: "~1",
|
|
},
|
|
};
|
|
const credential = new DefaultAzureCredential();
|
|
const client = new WebSiteManagementClient(credential, subscriptionId);
|
|
const result = await client.webApps.updateAuthSettingsV2(
|
|
resourceGroupName,
|
|
name,
|
|
siteAuthSettingsV2,
|
|
);
|
|
console.log(result);
|
|
}
|
|
|
|
async function main() {
|
|
updateAuthSettingsV2();
|
|
}
|
|
|
|
main().catch(console.error);
|