in src/configure/helper/graphHelper.ts [20:49]
public static async createSpnAndAssignRole(session: AzureSession, aadAppName: string, scope: string): Promise<AadApplication> {
let accessToken = await this.getGraphToken(session);
let tokenCredentials = new TokenCredentials(accessToken);
let graphClient = new RestClient(tokenCredentials);
let tenantId = session.tenantId;
var aadApp: AadApplication;
return this.createAadApp(graphClient, aadAppName, tenantId)
.then((aadApplication) => {
aadApp = aadApplication;
return this.createSpn(graphClient, aadApp.appId, tenantId);
})
.then((spn) => {
aadApp.objectId = spn.objectId;
return this.createRoleAssignment(session.credentials2, scope, aadApp.objectId);
})
.then(() => {
return aadApp;
})
.catch((error) => {
let errorMessage = error && error.message;
if (!errorMessage && error["odata.error"]) {
errorMessage = error["odata.error"]["message"];
if (typeof errorMessage === "object") {
errorMessage = errorMessage.value;
}
}
throw new Error(errorMessage);
});
}