Я хочу преобразовать свое веб-приложение angular в мобильное приложение.
Я понимаю, как работает cors в вебе, просто нужно установить порт в интерфейсе и тот же порт и URL-адрес в настройках бэкэнда allowedOrigins. Но я не могу понять, как работает cors в мобильном приложении, потому что IP на каждом мобильном устройстве разный, а не статичный, как во внешнем интерфейсе.
Я могу настроить на своем компьютере что-то вроде этого:
На сервере:
app:
auth:
cors:
allowedOrigins: http://127.0.0.1:8100,
В мобильном приложении (capacitor.config.ts):
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.my.app',
appName: 'my-mobile',
webDir: 'dist/my-mobile',
bundledWebRuntime: false,
server: {
cleartext: true,
hostname: '127.0.0.1:8100',
}
};
export default config;
И это работает, но в локали, как это сделать в проде, на реальных андроид устройствах?
Я получил ответ здесь https://forum.ionicframework.com/t/how-works-cors-in-capasitor-on-real-devices/230474
В prod приложения по умолчанию запускаются по следующему URL-адресу/происхождению:
iOS: конденсатор://локальный хост Android: http://локальный хост Таким образом, оба они должны быть настроены в вашем бэкэнде как разрешенные источники. Вы также можете использовать HTTP-плагин Capacitor, чтобы обойти CORS.