in cdk/src/generateConfig.ts [7:51]
async generateConfig(stackName: string, stackRegion: string, filePath: string) {
const outputs = await Utils.getStackOutputs(stackName, stackRegion);
const outputsByName = new Map<string, string>();
for (let output of outputs) {
outputsByName.set(output.OutputKey!, output.OutputValue!);
}
const region = outputsByName.get("RegionOutput");
const cognitoDomainPrefix = outputsByName.get("CognitoDomainOutput");
const userPoolId = outputsByName.get("UserPoolIdOutput");
const appClientId = outputsByName.get("AppClientIdOutput");
const apiURL = outputsByName.get("APIUrlOutput");
const appURL = outputsByName.get("AppUrl");
const uiBucketName = outputsByName.get("UIBucketName") || "";
const cognitoDomain = `${cognitoDomainPrefix}.auth.${region}.amazoncognito.com`;
const params = {
cognitoDomain: cognitoDomain,
region: region,
cognitoUserPoolId: userPoolId,
cognitoUserPoolAppClientId: appClientId,
apiUrl: apiURL,
appUrl: appURL,
uiBucketName: uiBucketName
};
const autoGenConfigFile = "// this file is auto generated, do not edit it directly\n" +
"export default " + JSON.stringify(params, null, 2);
console.log(autoGenConfigFile);
fs.writeFileSync(filePath, autoGenConfigFile);
console.log(`
IdP Settings:
- Single sign on URL / Assertion Consumer Service (ACS) URL: https://${cognitoDomain}/saml2/idpresponse
- Audience URI (SP Entity ID): urn:amazon:cognito:sp:${userPoolId}
- Group Attribute Statements (optional): Name=groups, Filter=Starts With (prefix) / Regex (.*)
`)
}