Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Allow custom URI schemes for CORS allowed origins

Aperta
#452 0 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
ios

Direzione di ricerca

Start by tracing validation and matching for cors_allowed_origins on custom domains, then compare it with the redirect URL handling implemented for issue #331. Done means custom URI schemes such as capacitor:// are accepted with exact matching, while existing http and https behavior remains unchanged; verify the preflight behavior and relevant validation tests.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

feat
Preflight checklist
Ory Network Project

https://thirsty-wozniak-lyfkkuj3wq.projects.oryapis.com

Describe your problem

The CORS allowed-origins validator on a custom domain accepts http and https only. Any other scheme is rejected with:

'capacitor://app.example.com' is not a valid CORS origin. Use '<scheme>://<hostname>:<port>'.

The message points at the format, but the format is not the issue — the scheme is. Tested on our project, on Branding → Custom domains → Allowed origins:

origin result
https://app.example.com accepted
http://app.example.com accepted
capacitor://app.example.com rejected
capacitor://app.example.com:443 rejected, same message — so it is not about the port
myscheme://app.example.com rejected — so it is not about capacitor specifically

This locks out hybrid mobile apps on iOS.

A Capacitor/Ionic app serves its bundled WebView from a custom scheme, and that is the Origin the WebView sends: capacitor://localhost by default, or capacitor://<your-hostname> once server.hostname is configured. Since that origin cannot be allow-listed, a plain fetch() from the app to Ory is impossible on iOS (the preflight is never granted).

The scheme is not negotiable on our side either. Capacitor's iosScheme cannot be set to http or https, because WebKit raises on it.

So there is no scheme that satisfies both Ory and iOS.

Android is unaffected :androidScheme defaults to https, and after adding https://<our-host> to the custom domain's allowed origins, the full flow works (preflight 204 with access-control-allow-headers: authorization, then GET /sessions/whoami returning 200 with the tokenized session). Only iOS is stuck.

Describe your ideal solution

Allow custom URI schemes in cors_allowed_origins on custom domains, with exact matching only (no wildcard support needed for them).

There is a direct precedent: #331 raised the same limitation for redirect URLs and was implemented. The same reasoning applies here, for the same class of application.

Workarounds or alternatives
  1. Bypass the browser with a native HTTP plugin. This is what Capacitor's own documentation recommends when CORS blocks you, and it is what we do today. It works, but it moves the request out of the WebView's network stack and into the platform's raw HTTP client, losing Happy Eyeballs, the browser's DNS resolver, connection pooling and coalescing.

  2. Run a backend proxy that forwards to Ory server-side, so the app talks to an origin we control. This works, and it is our fallback, but it means standing up and maintaining a service whose only purpose is to relay auth calls (which rather defeats the point of a managed identity provider).

Version

Ory Network (managed), as of 2026-09-30

Additional Context

No response

Lingua principale
Shell
Stelle
96
Fork
8
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ory/network

Tutte le issue di ory/network

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.