url scheme replacement for ios - vdc-download.vmware.com · the configuration is in a property list...

15
Technical Feature Guide URL Scheme Replacement for iOS Page 1 of 15 URL Scheme Replacement for iOS VMware Workspace ONE® data leakage prevention supports run-time replacement of the scheme in a URL that an application requests to open. This can be used, for example, to Cause an enterprise email client to open when the end user taps on a mailto link, instead of the system default email application. Cause a particular web browser to open when the end user taps on an https link, instead of the system default web browser. URL scheme replacement is configured in the Workspace ONE Unified Endpoint Manager (UEM) console. Replacement is processed at run time by the Workspace ONE mobile Software Development Kit (SDK), if configured in the mobile application. URL scheme replacement is available in the SDK for iOS. Table of Contents Description........................................................................................................ 2 Integration......................................................................................................... 4 Compatibility.................................................................................................. 4 Policy............................................................................................................. 5 Settings File................................................................................................... 6 Console Configuration..................................................................................... 7 Application Configuration................................................................................ 8 Instructions................................................................................................. 8 Test Code...................................................................................................... 11 Appendix: Decision Tree Activity Diagram.......................................................... 12 Appendix: Console User Interface Screen Captures............................................. 13 Appendix: Application Project Screen Capture.................................................... 14 Document Information...................................................................................... 15

Upload: others

Post on 11-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page1of15

URLSchemeReplacementforiOSVMwareWorkspaceONE®dataleakagepreventionsupportsrun-timereplacementoftheschemeinaURLthatanapplicationrequeststoopen.Thiscanbeused,forexample,to

Causeanenterpriseemailclienttoopenwhentheendusertapsonamailtolink,insteadofthesystemdefaultemailapplication.Causeaparticularwebbrowsertoopenwhentheendusertapsonanhttpslink,insteadofthesystemdefaultwebbrowser.

URLschemereplacementisconfiguredintheWorkspaceONEUnifiedEndpointManager(UEM)console.ReplacementisprocessedatruntimebytheWorkspaceONEmobileSoftwareDevelopmentKit(SDK),ifconfiguredinthemobileapplication.URLschemereplacementisavailableintheSDKforiOS.

TableofContentsDescription........................................................................................................2

Integration.........................................................................................................4

Compatibility..................................................................................................4

Policy.............................................................................................................5

SettingsFile...................................................................................................6

ConsoleConfiguration.....................................................................................7

ApplicationConfiguration................................................................................8

Instructions.................................................................................................8

TestCode......................................................................................................11

Appendix:DecisionTreeActivityDiagram..........................................................12

Appendix:ConsoleUserInterfaceScreenCaptures.............................................13

Appendix:ApplicationProjectScreenCapture....................................................14

DocumentInformation......................................................................................15

Page 2: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page2of15

DescriptionWhenanapprequeststoopenaURL,theschemeoftheURLisusedbythemobileoperatingsystemtodeterminewhichotherapplicationwillreceivetherequest.Replacingtheschemewillcauseadifferentreceivertobeselected.

WorkspaceONEdataleakagepreventionsupportsautomaticrun-timereplacementoftheschemeinaURL(UniformResourceLocator)valuethatisbeingopenedbyamobileapplicationthathasintegratedtheSDK.

WorkspaceONEsupportsreplacementoftheseURLschemes:

mailtohttphttps

ThefeaturecanbeconfiguredtoreplacetheschemeinaURLrequestwitheither:

Abuilt-inschemethatwillselectaVMwareWorkspaceONEappasthereceiver,Boxerformailto,Webforhttpandhttps.

AcustomschemeconfiguredintheUEMthatwillselecttheenterprise’schosenappasthereceiver.

WorkspaceONEDLPURLreplacementworksasfollows.

Ifacustomschemeisrequired,thenaspecificURLreplacementpolicyisconfiguredintheUEM.Thepolicyconfigurationwillspecifywhichschemesaretobereplacedandtheirreplacementvalues.SeePolicyandSettingsFileforinstructions.

Thisconfigurationisn’trequiredforbuilt-inschemereplacement.

DataLeakagePrevention(DLP)isactivatedandconfiguredintheUEM.DLPisasecuritypolicy.SeeConsoleConfiguration.

TheDLPandURLreplacementpolicyconfigurationsareretrievedbytheSDKinstanceinamobileapplication,atenrollmenttimeorsubsequently.

SupportforURLreplacementisconfiguredinthemobileappproject,atbuildtime.Configurationwillspecifywhichschemesaretobereplaced.

Theconfigurationisinapropertylistfile.SeeApplicationConfigurationfordetails.

Page 3: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page3of15

WhentheappexecutesanimplicitorexplicitrequesttoopenaURL,theSDKreplacestheschemeifthefollowingconditionsaremet.

TheURLreplacementconfigurationintheapplicationbuildspecifiesthattheschemebeingopenedistobereplaced.

DLPpolicyisactiveandspecifiesURLreplacement.

Thereplacementschemewillbe

AcustomschemeifthereisaURLreplacementconfigurationfromtheUEM,anditspecifiesareplacementfortheschemeintheURLbeingopened.

Abuilt-inreplacementschemeotherwise.

TherequesttoopentheURLcontinuestotheoperatingsystemandhencetothereceiverapplication.

SeetheDecisionTreeActivityDiagramintheappendixtothisdocumentforadiagrammaticrepresentationoftheabove.

-

-

-

-

Page 4: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page4of15

IntegrationTointegratethefeatureintoyourapplication,followtheinstructionsbelow.

CompatibilityBeforeyoubeginintegration,ensureyouhaveaccesstocompatibleversionsofsoftware.ThefollowingtableshowstheversionnumbersoftheWorkspaceONEcomponentsinwhichthisfeaturefirstbecameavailable.

Software Available

WorkspaceONESDKforiOS 20.6

WorkspaceONEmanagementconsole 9.7*

Version9.7*istheearliestsupportedUEMattimeofwriting.AllcurrentversionsofUEMhavetheDLPandcustomsettingsoptions.

Page 5: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page5of15

PolicyDecideonaschemereplacementpolicy.Thepolicyincludestheseelements:

Whichofthesupportedschemeswillbereplaced.

Foreachreplacedscheme,whichapplicationistherequiredreceiver.

Basedonthat:

Whatwillbethereplacementscheme.

Theschememustbeoneregisteredbytherequiredreceiverapplication.Theapplicationdevelopershouldsupplythisvalue,forexampleintheirproductdocumentation.

Whatnameforthereceiverappshouldbedisplayedtotheuser.

Thefullproductnamemightbeunfamiliar,toolong,orotherwiseunsuitablefordisplayinthemobileuserinterface.

Thepolicycouldberecordedinatablelikethefollowing.

OriginalScheme ReplacementScheme ReplacementAppName

mailto Replacementemailclientnamehttp Replacementbrowsernamehttps Replacementbrowsername

Notethefollowing.

Replacementofmailtoisoptional.

Replacementofhttpandhttpsisoptional.

Thereplacementappnameforthehttpandhttpsschemesmustbethesame.

Thereplacementschemesforhttpandhttpsneedn’tbethesamebutifhttpisreplacedthenhttpsmustalsobereplaced,andviceversa.

Forexample,thefollowingtableshowsasamplepolicythatspecifiesMicrosoftOutlookandtheBravebrowser.

OriginalScheme ReplacementScheme ReplacementAppName

mailto ms-outlook Outlook

http brave Brave

https brave Brave

-

-

Page 6: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page6of15

SettingsFileCreateacustomsettingsfileforinsertionintoyourWorkspaceONEmanagementconsoleconfigurationuserinterface.ThefileisarepresentationofthePolicydecidedintheprecedingstep.

ThecustomsettingsfilewillbeplaintextinJavaScriptObjectNotation(JSON)format.Youcanuseatexteditortocreatethefile.

ThefollowingJSONcodeillustratestherequiredstructure.

{"CustomSDKSettings":{"com_vmware_DLP_Redirection":{"mailtoSchemeConfiguration":{"mailto":"REPLACEMENT-SCHEME-FOR-MAILTO","appName":"MAILTORECEIVERAPPNAME"},"httpSchemeConfiguration":{"http":"REPLACEMENT-SCHEME-FOR-HTTP","https":"REPLACEMENT-SCHEME-FOR-HTTPS","appName":"HTTPANDHTTPSRECEIVERNAME"}}}}

Thiscodecanalsobeusedasatemplate.

Changethecapitalizedpartstorepresentyourpolicy.

Ifyourpolicydoesn’treplacemailto,thendeletethe“mailtoSchemeConfiguration”entry.

Ifyourpolicydoesn’treplacehttpandhttps,thendeletethe“httpSchemeConfiguration”entry.

Page 7: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page7of15

ConsoleConfigurationThisfeaturecanbeconfiguredintheWorkspaceONEmanagementconsole.Thefollowinginstructionsareintendedforapplicationdevelopersorotheruserswishingtotryoutthefeaturequickly.Fulldocumentationcanbefoundintheonlinehelp.

TheseinstructionsassumethatyouhavealreadycreatedaSettingsFile.

1. Logintothemanagementconsole.

Thedashboardwillbedisplayed.

2. Selectanorganizationgroup.

Bydefault,theGlobalgroupisselected.

3. Navigateto:Groups&Settings,AllSettings,Apps,SettingsandPolicies,SecurityPolicies.

ThisopenstheSecurityPoliciesconfigurationscreen,onwhichanumberofsettingscanbeswitchedonandoff,andconfigured.

4. FortheDataLossPreventionsetting,selectEnabled.

WhenEnabledisselected,furthercontrolswillbedisplayed.

5. Makethefollowingselections:

EnableComposingEmail:No

6. SelectSavetocommityourchangestotheconfiguration.

7. Navigateto:Groups&Settings,AllSettings,Apps,SettingsandPolicies,Settings.

ThisopenstheSettingsconfigurationscreen,onwhichanumberofsettingscanbeswitchedonandoff,andconfigured.

8. ForCustomSettings,selectEnabled.

WhenEnabledisselected,atextbox,alsolabelledCustomSettingswillbedisplayed.

9. IntheCustomSettingstextbox,pasteinthecontentsofyoursettingsfile.

10. SelectSavetocommityourchangestotheconfiguration.

SeealsotheConsoleUserInterfaceScreenCapturesintheappendixtothisdocument.

-

Page 8: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page8of15

ApplicationConfigurationAddabundleandpropertylisttoyourapplicationproject,asshowninthefollowingscreencapture.

Screencapture1:Configurationintheapplicationproject

(TheapplicationnameinthescreencaptureisCaptivity,whichcanbeignored.)

InstructionsThefollowinginstructionswillsettheaboveconfiguration.

1. OpentheapplicationprojectintheAppleXcodeintegrateddevelopmentenvironment(IDE).

2. AddabundlenamedAWSDKDefaultstotheapplication,unlessitalreadyhasone.

Youcanaddabundlelikethis:

1. Selecttheapplicationintheprojectnavigator.

2. IntheXcodemenu,selectFile,New,File…

Thisopensatemplatechooser.

3. Choosethetemplate:SettingsBundle.

Afile-savedialogopeninwhichyouwillenterthenameofthenewbundle.

4. Enterthename:AWSDKDefaults

ThefullfilenamewillbeAWSDKDefaults.bundle

TheAWSDKDefaultsbundlehasnowbeenaddedandyoucancontinue.Thebundlemighthavesomeboilerplatecontent,likeaRootpropertylistandlocalisationfolder.Theboilerplatecontentcanbeignored.

Page 9: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page9of15

3. AddapropertylistfilenamedAWSDKDefaultSettings.plisttotheAWSDKDefaultsbundle,unlessitalreadyhasone.

Youcanaddapropertylistfilelikethis:

1. Selecttheapplicationintheprojectnavigator.

2. IntheXcodemenu,selectFile,New,File…

Thisopensatemplatechooser.

3. Choosethetemplate:PropertyList.

Afile-savedialogopeninwhichyouwillenterthenameofthenewbundle.

4. Enterthename:AWSDKDefaultSettings

ThefullfilenamewillbeAWSDKDefaultSettings.plist

5. DraganddropthenewpropertylistfileintotheAWSDKDefaultsbundle.

Thepropertylistfilehasnowbeenaddedintherequiredlocationandyoucancontinue.

Page 10: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page10of15

4. AddpropertiestotheAWSDKDefaultSettingsfile.

Adddictionarypropertiesasfollows.

Tosupportmailtoreplacement,addthis:

Key:AWMailtoSchemeConfigurationType:Dictionary

Insidethedictionary,addoneproperty:

Key:enabledValue:YES

Tosupportmailtoreplacement,addthis:

Key:AWURLSchemeConfigurationType:Dictionary

Insidethedictionary,addoneproperty:

Key:enabledValue:YES

Youcanaddeverythingbyopeningthepropertylistfileassourcecodeandthenpastingallorpartofthefollowingsnippet.<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEplistPUBLIC"-//Apple//DTDPLIST1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plistversion="1.0"><dict><key>AWMailtoSchemeConfiguration</key><dict><key>enabled</key><true/></dict><key>AWURLSchemeConfiguration</key><dict><key>enabled</key><true/></dict></dict></plist>

Savethepropertylistfile.

Thiscompletestheapplicationconfiguration.

-

-

Page 11: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page11of15

TestCodeCodelikethefollowingcanbeusedtotesttheintegration.

//CreateasamplemailtoURL.//AssignmentusesaSwiftmultilinestringliteral,see://https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.htmlletmailtoString="""mailto:\[email protected]\[email protected],[email protected]\&[email protected]\&subject=Some%20Important%20Mail\&body=Hi%2C%0A%0A%0A"""ifletmailtoURL=URL(string:mailtoString){//IssuearequesttoopentheURL,see://https://developer.apple.com/documentation/uikit/uiapplication/1648685-openUIApplication.shared.open(mailtoURL,options:[:],completionHandler:nil)}

ThiscompletesintegrationofURLSchemeReplacementforiOS.

Page 12: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page12of15

Appendix:DecisionTreeActivityDiagramThefollowingdiagramrepresentsthedecisiontreeforOpenURLwithschemereplacementasaUnifiedModelingLanguage(UML)Activitydiagram.

ActivityDiagram:OpenURLRequest

ApplicationCode

OpenURL

Scheme

Start

ApplicationPropertyList

No

Don'treplacescheme

Schemeconfiguredasreplaced?

No

UEMconfiguration

Yes

Yes

CustomSettings

configured?

Replacewithbuilt-inscheme

DLPsecuritypolicyactive?

Schemeismailtto?

Yes

No

No

Yes

DLPEnableComposing

Emailsetting… No

No

ReplacementforSchemeinsettings?

Replacewithcustomscheme

Yes

Yes

Diagram1:OpenURLwithschemereplacementactivitydiagram

Page 13: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page13of15

Appendix:ConsoleUserInterfaceScreenCapturesThefollowingscreencapturesshowsthisfeature’sconfigurationinthemanagementconsole.Forstep-by-stepinstructions,seeConsoleConfiguration.

Screencapture2:ConsoleUserInterfaceDataLeakagePrevention

Screencapture3:ConsoleUserInterfaceCustomSettings

Page 14: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page14of15

Appendix:ApplicationProjectScreenCaptureThefollowingscreencapturesshowsthisfeature’sconfigurationintheAppleXcodeintegrateddevelopmentenvironment.

Screencapture1:Configurationintheapplicationproject

(Ignoretheapplicationnameinthescreencapture,Captivity.)

ThisconfigurationcanbesetbyfollowingtheApplicationConfigurationinstructions.

Page 15: URL Scheme Replacement for iOS - vdc-download.vmware.com · The configuration is in a property list file. See Application Configuration for details. Technical Feature Guide URL Scheme

TechnicalFeatureGuide

URLSchemeReplacementforiOS Page15of15

DocumentInformationRevisionHistory30jun2020 FirstPublication.

LegalVMware,Inc.3401HillviewAvenuePaloAltoCA94304USATel877–486–9273Fax650–427–5001www.vmware.comCopyright©2020VMware,Inc.Allrightsreserved.ThisproductisprotectedbyU.S.andinternationalcopyrightandintellectualpropertylaws.VMwareproductsarecoveredbyoneormorepatentslistedathttps://www.vmware.com/go/patents.VMwareisaregisteredtrademarkortrademarkofVMware,Inc.anditssubsidiariesintheUnitedStatesandotherjurisdictions.Allothermarksandnamesmentionedhereinmaybetrademarksoftheirrespectivecompanies.