Table of Contents

OneTouch v2

OneTouch v2 comes with a number of improvements in terms of both user experience, accessibility and security.

To enable it in PAS, simply follow the guides below.

Configuration

Configuring PAS to use OneTouch v2 is simple and described in detail below. Details to note are that once you enable OneTouch v2, enrollment from OneTouch v1 will no longer be possible.

By default, authentication via previously enrolled OneTouch v1 profiles will not be possible. You may however enable a compatibility mode that enables both OneTouch v1 and v2 to authenticate, to give time for users to swap over to v2. This is not recommended to use long term however, as v2 comes with security updates it is better to only allow OneTouch v2 to authenticate. So once your users have enrolled in OneTouch v2, you the compatibility mode should be disabled. It is activated in the PKI module, via the config parameter allowOTCompatibilityMode, see the example from the configuration guide below.

From a completely fresh installation (no prior config file)

If installing PAS completely fresh without any existing configuration, simply go through the steps of the guide scenario "OneTouch" in the configuration gui, under the "System"-tab, and select "v2" on the "OneTouch version" selector.

From an existing config file

Since OneTouch v2 uses Elliptic Curve (EC) keys, we need to adjust our CA_CONFIGURATIONS to enable the usage of such keys in the certificate provisioning. In your phenix-store.json, go to CA_CONFIGURATIONS and add the following entry to the list ca_profiles:

{
   "id":"f05130a6-0962-426f-bf4f-d7b50edeaf11",
   "name":"PhenixID One Touch 2.0",
   "alias":"onetouch-v2",
   "description":"Profile for PhenixID One Touch 2.0 client certificates",
   "pipe_ref":"<replace-with-pipe_ref-from-default-profile>",
   "issue_pipe_ref":"<replace-with-issue_pipe_ref-from-default-profile>",
   "revoke_pipe_ref":"<replace-with-revoke_pipe_ref-from-default-profile>",
   "rules":{
      "subject":{
         "regex":"^CN=.*",
         "required":"true"
      },
      "key":{
         "size":"256",
         "algorithm":"EC",
         "values":{
            "size":"256",
            "algorithm":"EC"
         }
      },
      "key_usage":{
         
      },
      "not_before":{
         "value":"now"
      },
      "not_after":{
         "value":"duration:P365D"
      },
      "extensions":{
         
      }
   }
}

The values for pipe_ref, issue_pipe_ref and revoke_pipe_ref should be replaced with their respective values in the other profile, the one with the default alias. Once you have done this step, you may run the OneTouch config guide as described above in the "fresh installation" step. If you have already created a OneTouch guide prior to adding this CA Profile, you will need to add the configuration parameter ca_profile to the PKI module configuration, and it should have the value of the OneTouch v2 CA profile. Example:

{
    "name" : "com.phenixidentity~phenix-pki",
    "enabled" : "true",
    "config" : {
      "version" : "v2",
      "allowOTCompatibilityMode" : "true",
      "issuer" : "PhenixID",
      "ca_ref" : "2ea75745-de9d-44f1-824e-2d7bf55028bb",
      "ca_profile" : "f05130a6-0962-426f-bf4f-d7b50edeaf11",
      "url_prefix" : "http://192.168.178.61:8080",
      "actions_url" : "http://192.168.178.61:8080",
      "http_configuration_ref" : "97603ca3-2eca-4771-ad6b-f244bf96ce35",
      "guide_ref" : "799e57a4-63f3-4d0f-a6f2-6bc4451ed795",
      "guide_id" : "guides.onetouch"
    },
    "created" : "2024-10-01T13:48:40.537Z",
    "id" : "cc78f900-fc81-400b-b107-3a4a9bbc2507",
    "modified" : "2024-10-01T13:48:55.664Z"
}

Other configuration settings

There are a few configuration parameters available for OneTouch v2, a few at the enrollment level and a few at the authentication level.

Enrollment specific settings

Note that these are the parameters that control the behavior of profiles at the time of enrollment. Changing this later will not change the enrolled profile. More configuration settings (such as display name) are described further down in the article, and are configured elsewhere.

The global enrollment specific settings are:

Name Description Default value
biometric_auth_allowed Controls if the enrolled profile is allowed to activate biometric authentication instead of PIN code. true
max_incorrect_pin_attempts Controls the max amount of incorrect pin attempts before the profile is revoked and deleted. 5
pin_length The required length of the pin codes supplied in the OneTouch app when enrolling 4

Those are configured at the pki module in the MODULES bucket in the advanced configuration. See example below:

{
    "name" : "com.phenixidentity~phenix-pki",
    "enabled" : "true",
    "config" : {
      "version" : "v2",
      "allowOTCompatibilityMode" : "true",
      "issuer" : "PhenixID",
      "ca_ref" : "2ea75745-de9d-44f1-824e-2d7bf55028bb",
      "ca_profile" : "f05130a6-0962-426f-bf4f-d7b50edeaf11",
      "url_prefix" : "http://192.168.178.61:8080",
      "actions_url" : "http://192.168.178.61:8080",
      "http_configuration_ref" : "97603ca3-2eca-4771-ad6b-f244bf96ce35",
      "pin_length": "4",
      "biometric_auth_allowed": "true",
      "max_incorrect_pin_attempts": "5",
      "guide_ref" : "799e57a4-63f3-4d0f-a6f2-6bc4451ed795",
      "guide_id" : "guides.onetouch"
    },
    "created" : "2024-10-01T13:48:40.537Z",
    "id" : "cc78f900-fc81-400b-b107-3a4a9bbc2507",
    "modified" : "2024-10-01T13:48:55.664Z"
}

Authentication specific settings

Authentication specific settings are configured at the authenticator level (see examples below). Configurable settings are:

Name Description Default value
biometric_auth_allowed Controls if the authentication flows allows biometric authentication instead of PIN code. true
authIntent A short string describing the intent of the authentication. Example: 'Login to SomeIDP'.
authMessage A short message presented in the OneTouch app. Supports basic markdown.
authMessageB64 A base64 encoded short message presented in the OneTouch app. Supports basic markdown. Overrides 'authMessage' config parameter.

Examples:

OneTouch (HTTP) via QR code:

{
    "id" : "fb0b7088-d4bc-4f16-963f-c967516774a8",
    "alias" : "onetouch",
    "name" : "AnonymousAssignmentAgnostic",
    "displayName" : "OneTouch",
    "configuration" : {
      "localizationKey" : "oneTouch",
      "pipeID" : "55450ccd-96e4-4577-94d6-8c8e05b3e6e6",
      "issuer" : "PhenixID",
      "biometric_auth_allowed" : "true",
      "authMessageB64" : "aGVqc2FuMjI=",
      "authIntent" : "Log in at {{request.contextrequestissuer}}",
      "setSSOParameters" : "true"
    }
  }

OneTouch via RADIUS

{
    "name" : "OneTouchAuthenticator",
    "config" : {
      "uid_pwd_pipe" : "3d6e076f-1317-4a9f-a360-3ea576414607",
      "clientIP" : "127.0.0.1",
      "ar_attributes" : "",
      "resp_attributes" : "",
      "secret" : "{enc}I1eWp1ku1KvD5NF4LXiTxmKWNFlWWuiU8nKX0XA87CY=",
      "radius_config" : "59b95ed9-16fa-409c-a42f-d8aeb66eb163",
      "remove_ad_domain" : "false",
      "poll_interval" : "3000",
      "max_polls" : "10",
      "notify" : "true",
      "user_retry_timeout" : "20",
      "clientTemplate" : "ot_auth_template",
      "servicename" : "PhenixID",
      "ot_alert_title" : "Login",
      "ot_alert_message" : "Open and confirm to complete the login",
      "ot_alert_message_mapping_table" : "",
      "biometric_auth_allowed" : "true",
      "authMessageB64" : "aGVqc2FuMjI=",
      "authIntent" : "Log in at some other service"
    },
    "created" : "2025-05-15T07:19:33.014Z",
    "id" : "b762dc78-0145-4a2e-9719-9b9fc7b9476b"
  }

Adding a first and last name to the profile

When enrolling in OneTouch v2 you may set first and last names that will be visible besides the unique username in the OneTouch app. This is enabled by default, but you may control this manually via the add_user_display_name attribute. You can set this to false to disable this. There are several ways to enroll to OneTouch, but the configuration is the same whether it is done via OneTouch enrollment portal, SelfService, or MFA Admin. In either of those module configurations, control it via "add_user_display_name" : "true/false", and if true (or default) the first name and last name will be taken from the attributes givenName and sn, if those are available. You may change what attributes are used via the config parameters user_first_name_attribute and user_last_name_attribute respectively. Example of a OneTouch enrollment portal with the setting enabled:

{
    "name" : "com.phenixidentity~phenix-prism-enroll-pki",
    "enabled" : "false",
    "prism_enabled" : "true",
    "config" : {
      "display_name" : "guides.enrollpki.title",
      "base_uri" : "pki",
      "http_configuration_ref" : "33da9e98-78cd-4132-81e3-0359decdd35b",
      "requires_role" : "auth:d513ddd7-0aa3-4ba9-b0d7-474f9a1051d5",
      "use_push" : "true",
      "token_max_count" : "",
      "enroll_oath" : "false",
      "module_base_url" : "/tokens/pki",
      "enroll_timeout_mins" : "5",
      "enroll_pollinterval_ms" : "2000", 
      "add_user_display_name": "true",
      "user_first_name_attribute": "customFirstNameAttribute",
      "user_last_name_attribute" : "customLastNameAttribute"
    },
    "guide_ref" : "4b88d632-becf-401e-b1b3-f83f4c70a816",
    "guide_id" : "guides.enrollpki",
    "created" : "2024-09-26T14:36:53.729Z",
    "id" : "49a5ad77-1e5b-4b43-bad9-70747183d7dd"
}

Branding

The PAS administrator has the possibility to control some branding of the PhenixID OneTouch app, more specific the look and feel of the OneTouch profile cards.

Images that can be branded in the profile header

Branding setting is managed in PhenixID PAS server and downloaded to the mobile application on the following occasions

  • When enrolling a profile
  • Each time the application is restarted (if internet connection is available)

Add branding settings

Prerequisites

In order to add branding to PhenixID OneTouch, the images used need to be available on a web server which can be reached publicly. Also, a settings file containing pointers to the images must be created and added to a web server and exposed publicly.

Settings file data format

The settings file is in json format and must be named "settings.json".

Please note that the images are cached in the client devices in order to save mobile network downloads. In order to make the client devices update images from the server the URL must change. It is recommended to add a parameter like “?v=1” which is incremented when an image is changed. See example below.

An example:

{
    "image_background_landscape": "https://demo.phenixid.net/otsettings/landscape.jpg?v=1",
    "image_icon": "https://demo.phenixid.net/otsettings/logo.jpg?v=1"
}

Images

Images should be the size specified below, and in JPEG, PNG, GIF, WebP, BMP or HEIF format.

Images will be scaled to fit the destination on screen so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the destination.

Description of the parameters:

Parameter Description Size in pixels
image_background_landscape The background image at the top of the profile card 1280 x 720
image_icon The issuer icon next to the issuer name at the top pf the profile card 64 x 64

Configuring

Use the settings file by entering the URL to the settings file in the PhenixID PAS configuration.

Note that this URL must be reachable by the apps at the time of activation.

The URL must be set for the application(s) used for app activation. See details below.

OneTouch enrollment application

  1. Login to Configuration Manager
  2. Open the Advanced tab
  3. Open the Modules section
  4. Locate the enroll-pki section
  5. Add the settings_url to the configuration block.

settings URL in configuration file

Testing

Test it by activating PhenixID OneTouch, using the activation application(s) configured (see above).

Verify that the App displays the images defined in the settings file.

Actions

The PAS administrator can configure a number of actions that appear as buttons in the OneTouch apps. When the user click an action button the configured URL is opened in the default browser.

Configuring

Parameter Description Required
type Controls where the button is placed in the app yes
url URL opened in default browser when button is clicked no
title Title of the action yes
icon base64 encoded button icon (64 x 64 pixels) no
text Description of action yes
authentication "JWT" in case user must authenticate browser request no

The following types of actions are supported:

Type Description
open Button will only be listed in profile's details view.
update_profile URL is opened in default browser when user select to update the profile.
card Button will be displayed in the profile's card view.
myapps Button will be displayed in the profile's card view together with a myapps icon.
profile_info Title is used as issuer name.

Example Actions configuration:

Two actions defined in configuration file

Example "PhenixID" action displayed on profile card:

PhenixID action displayed on profile card

All actions are listed in the profile's detail view:

Two actions displayed on profile's detail view

Special action type "profile_info"

The issuer of the profile is retrieved from the certificate that belong to the profile. However, sometimes this issuer name can be hard to understand by the user.

To set the issuer name of the profile add this action configuration to PAS. The title parameter of the action will be put at the top of the profile card.

{
  "type": "profile_info",
  "title": "Example issuer",
  "text": "Our issuer name"
}

Issuer name in profile header as configured with profile_info action