{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":34702,"path":"mobile/config-ext-auth-browser-ios.md","title":"Configure an external authentication browser for ServiceNow mobile apps","bundle":null,"doc_type":null,"release":"australia","body":"\n# Configure an external authentication browser for ServiceNow mobile apps\n\nAdmins can configure an external browser for mobile apps. This external browser is used during authentication so external URLs that are opened by the same browser can maintain sessions and cookies.\n\n## Before you begin\n\nRole required: admin\n\n## About this task\n\nCookies aren't shared between ServiceNow® mobile app browsers and external browsers that load external sites. ServiceNow mobile apps enable end users to log in with an SSO \\(single sign-on\\) service such as Okta or Microsoft Entra ID. These SSO services provide a seamless and secure authentication experience for end users. However, sometimes end users might want to open authenticated third-party links that use the same SSO service within the app but not be required to log in again. For example, an end user might want to open a link to a report that is hosted on a different platform that uses the same SSO service as the ServiceNow mobile app.\n\nTo enable end users to access links on different platforms that use the same SSO service as the ServiceNow mobile app, admins can configure an external browser for login to the ServiceNow mobile app, so cookies are shared between login and the external site. This means that the SSO session persists after the end user logs in and then automatically logs the end user into external sites if those sites use the same SSO provider as the ServiceNow mobile app.\n\n-   **Web browser properties**\n\n    Use the following properties to specify the external browser and the authentication browser in the `CustomPreAuthProperties` script include.\n\n    |Mobile app operating system|Property|Description|\n    |---------------------------|--------|-----------|\n    |iOS|**SNExternalBrowseriOS**|Configures the browser type to use for opening external links on iOS apps.|\n    |iOS|**SNAuthenticationBrowseriOS**|Configures the browser type to use for authenticating users on iOS apps.|\n    |Android|**SNExternalBrowserAndroid**|Configures the browser type to use for opening external links on Android apps.|\n    |Android|**SNAuthenticationBrowserAndroid**|Configures the browser type to use for authenticating users on Android apps.|\n\n-   **Property values**\n\n    The following browser types can be specified for the web browser properties.\n\n    |Property value|Description|\n    |--------------|-----------|\n    |**safari**|Apple Safari|\n    |**chrome**|Google Chrome|\n    |**firefox**|Mozilla Firefox|\n    |**edge**|Microsoft Edge|\n    |**workspaceone**|AirWatch VMware Workspace ONE|\n    |**webatwork**|MobileIron Web@Work|\n    |**blackberryaccess**|BlackBerry Access|\n    |**maas360**|IBM MaaS360|\n    |**citrix**|Citrix Secure|\n\n-   **Example**\n\n    ```\n    {\"SNExternalBrowseriOS\": \"safari\", \"SNAuthenticationBrowseriOS\": \"safari\"}\n    ```\n\n    **Important:** The values for both properties must match for SSO sessions to persist between login and other browsing.\n\n\n## Procedure\n\n1.  Navigate to **All** &gt; **sys\\_extension\\_point.list**.\n\n    The Extension Points table displays.\n\n2.  In the API Name column, find the **global.CustomPreAuthProperties** entry and select it.\n\n3.  In the Extension Point CustomPreAuthProperties record, under **Related Links**, select **Create implementation**.\n\n4.  In the Script Include CustomPreAuthProperties record, add the external browser and the authentication browser properties to the **Script**.\n\n    For example, here's a configuration that specifies the Apple Safari browser for the external and the authentication browsers:\n\n    ```\n    var CustomPreAuthProperties = Class.create();\n    CustomPreAuthProperties.prototype = {\n         initialize: function() {\n         },\n    \n         /**\n          * Returns a JSON object keyed by the custom property names.\n          */\n         getProperties: function(input) {\n              return {\"SNExternalBrowseriOS\": \"safari\", \"SNAuthenticationBrowseriOS\": \"safari\"};\n         },\n    \n         type: 'CustomPreAuthProperties'\n    };\n    ```\n\n5.  Select **Active** to activate the script include.\n\n6.  Select **Update** to save your changes.\n\n\n**Parent Topic:**[Mobile authentication](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/mobile/mobile-authentication.md)\n\n"}}