Version | Datum | Författare | Kommentar |
---|---|---|---|
0.9 |
| Skapat exempelkod | |
1.0 |
| Upprättat dokument | |
1.1 |
| Versionering |
Under tidiga tester med Region Stockholm identifierades att deras Journalsystem, Take Care, jobbar med Chrome som en inbäddad webbläsare när man presenterar e-tjänsten (Webcert) och IdP:n (Ineras IdP).
...
Kodblock | ||||||
---|---|---|---|---|---|---|
| ||||||
class CustomResourceRequestHandler : ResourceRequestHandler { protected override bool OnProtocolExecution(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request) { Uri uri = new Uri(request.Url); if (uri.Scheme == "siths") { return true; } return false; } } |
2. Sedan skapas en factory-klass som returnerar vår implementation.
Kodblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
public class CustomResourceRequestHandlerFactory : IResourceRequestHandlerFactory { public bool HasHandlers => true; public IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling) { return new CustomResourceRequestHandler(); } } |
3. Till sist pekar vi ut våran factory-klass för browser-instansen.
Kodblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
var browser = new ChromiumWebBrowser("https://enrollment.preacctest.ineratest.org")
{
ResourceRequestHandlerFactory = new CustomResourceRequestHandlerFactory()
};
panel.Controls.Add(browser); |
...