windows - Kan hostede web-UWP apps angive deres URI-grænser ved runtime?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg planlægger at udvikle en UWP-klient til open source-messaging-platformen. Det meste er først og fremmest at udvide platformsstøtten til Windows 10 Mobile med det formål at efterhånden tilføje førsteklasses funktioner som indfødte meddelelser, en ulæst beskedindikator på den levende flise , Cortana integration osv. Jeg har startet arbejdet med et proof of concept, der fungerer godt med en foruddefineret URL, der skal læses fra starten, men jeg vil gerne give brugerne mulighed for at angive en væsentligste server-URL på kørselstid den måde, den elektronbaserede desktop-klient gør. [3] [4] [5]


Problemet opstår i det faktum, at hostede webapps kræver, at du definerer applikationsindholds URI-regler (ACURs) på kompileringstid, der begrænser omfanget af URI'er, som appen må indlæse fra sikkerhedsgrunde – hvis der er adgang til et link til en webadresse uden for rammerne af reglerne, vil det blive indlæst i standardwebbrowserens enhed i stedet for UWP-applikationskonteksten, hvilket naturligvis ikke er hvad jeg skal hen til. [6]]]


Så mit spørgsmål kan udvides til følgende tre:



  1. Er det muligt at definere disse URI-grænser ved kørsel , så en bruger kan angive en vilkårlig server-URL i brugergrænsefladen (muligvis ved at delegere fra en applikation, der ændrer den nødvendige konfiguration og derefter starter en anden) ?

  2. Hvis ikke, kan URI-reglerne omgåes for at tillade indlæsning fra en vilkårlig webadresse , og så kunne jeg håndtere verificering af forekomsten af ​​en gyldig server forekomst selv i kørsel i stedet?

  3. Hvis det er tilfældet, ville omgå URI-reglerne forhindre mig i at få adgang til Windows Runtime API'er , hvilket ville være nødvendigt for at implementere funktioner som indbyggede meddelelser?



Hidtil har jeg forsøgt at bruge jokertegn til at tillade nogen URI, men Visual Studio klager over, at ACUR-værdierne er ugyldige (sikkert med rette, men frustrerende alle sammen), det vil sige:



  • https://*

  • https://*/*



Hvis du undlader alt dette, er der nogen alternativ UWP-baseret løsning, der er mindre restriktiv end hostede webapps, der kan være værd at udforske i stedet?

Bedste reference