Когда приложение открывается, я получаю действительный токен, и приложение работает нормально при включенном экране.
Но когда я выключаю экран в Android, http-вызовы перехватчика перестают работать, и причина, по-видимому, в следующем: потому что используется angular-common-http.
Мы создали специальный перехватчик, принудительно использующий конденсаторHttp, но методacquireTokenSilent по-прежнему использует angular-common-http внутри себя, поэтому Android по-прежнему заблокировать вызов
Есть ли способ заставить AcquireTokenSilent использовать конденсаторHttp вместо angular-common-http?
Или мы делаем что-то не так?
Спасибо!
Изменить:
Я сделал свою собственную реализацию networkClient, потому что это то, что msal-браузер использует для сетевых запросов.
Код: Выделить всё
import { INetworkModule, NetworkRequestOptions, NetworkResponse } from '@azure/msal-browser';
import { CapacitorHttp } from '@capacitor/core';
export class CustomHttpClient implements INetworkModule {
async sendGetRequestAsync(url: string, options?: NetworkRequestOptions, cancellationToken?: number): Promise {
try {
const response = await CapacitorHttp.get({ url, headers: options?.headers });
console.log('GET response:', response);
return {
body: response.data,
headers: response.headers,
status: response.status
} as NetworkResponse;
} catch (error) {
console.error('GET request error:', error);
throw error;
}
}
async sendPostRequestAsync(url: string, options?: NetworkRequestOptions): Promise {
try {
console.log('URL: ', url, options)
const response = await CapacitorHttp.post({
url,
headers: options?.headers,
data: options?.body,
});
console.log('POST response:', response);
return {
body: response.data,
headers: response.headers,
status: response.status
} as NetworkResponse;
} catch (error) {
console.error('POST request error:', error);
throw error;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... nterceptor
Мобильная версия