azure-sdk-for-js/sdk/appservice/arm-appservice/samples-dev/webAppsUpdateAuthSettingsV2...

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);