Я создаю надстройку для Outlook и получаю эту ошибку в моей надстройке для Outlook при каждой попытке входа в систему. Я использую Microsoft Graph API v2.0 OAuth и на пути перенаправления получаю вышеуказанную ошибку.
Эта ошибка сохраняется только для приложения edge и outlook windows. Я использую ngrok для тестирования надстройки Outlook на локальной машине. Ниже приведен код angular 4, который я использую для входа. Является ли вышеуказанная проблема каким-то нарушением CSP?
executeSignIn() {
console.log('EXECUTE SIGN IN');
const clientId = environment.microsoftOAuthClientId;
const redirectURI = `${window.location.origin}${environment.baseUrl}/redirect`;
const responseType = 'id_token token';
const scope = 'https://graph.microsoft.com/User.Read openid';
const responseMode = 'fragment';
const state = '12345';
const nonce = '678910';
const urlParameter1 = `client_id=${clientId}&response_type=${responseType}&redirect_uri=${redirectURI}`;
const urlParameter2 = `&scope=${scope}&response_mode=${responseMode}&state=${state}&nonce=${nonce}`;
const url = `https://login.microsoftonline.com/common/oauth2/v2.0/authorize?${urlParameter1}${urlParameter2}`;
Office.context.ui.displayDialogAsync(url, { height: 60, width: 40 }, (asyncResult) => {
if (asyncResult.status !== 'succeeded') {
// show error and close popup
// asyncResult.value.close();
}
asyncResult.value.addEventHandler(Office.EventType.DialogMessageReceived, (msg) => {
if (msg.message === 'success') {
// do something
} else {
// show error
this.showError = true;
}
// asyncResult.value.close();
});
});
}