How to customize Signing/Seal Service web application
This PhenixID Solution Document (PSD) is written for PhenixID Server.
This PSD describes how to customize Signing/Seal Service in PhenixID Server.
The reader of this PSD should have some basic knowledge about PhenixID Server.
NOTE: If Federated signing (API) is used, this page can be also be customized. Since authentication has already been done in this scenario, only configuration of the signing page will be made. See last part of document.
NOTE: Changes will be made to files that are located in modules for the current version of PhenixID Server. Meaning that the customizations made, needs to be manually transferred to the new module version when upgrade is made (except for the file phenix-store.json).
System requirements
- PhenixID Server installed.
- Version 2.x
-
PhenixID Signing/Seal Service configured
Overview
The instructions in this document will help you customize Signing/Seal Service in PhenixID Server.
We will make changes to the files:
<PhenixIDinstallationdirectory>/config/phenix-store.json
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~auth-http~<VERSION>/templates/login.template
<PhenixIDinstallationdirectory>/bin/start-PhenixID.sh (Linux)
<PhenixIDinstallationdirectory>/bin/*.vmoptions (Windows)
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~auth-http~<VERSION>/web/res/lang/en/strings.xml
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-signingclient~<VERSION>/web/index.html
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-fedsigning~<VERSION>/web/index.html
So please make sure that you have a recent copy/backup of these files.
Changes to the configuration file phenix-store.json should be made using the configuration portal.
NOTE: Changes made to the files above are located in modules for the current version of PhenixID Server. Meaning that the customizations made, needs to be manually transferred to the new module version when upgrade is made (except for the file phenix-store.json).
Customize the login page
We can make changes to the parts of the web page numbered above. Follow the steps below for the respective parts of the page. Remember to have a backup of the files being changed.
1. Logotype and 2. Background (please be aware that the instructions will apply to all auth http pages)
To change the logotype and background please edit the file:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~auth-http <VERSION>/templates/login.template
and add the following line after the other css links:
<link rel="stylesheet" href="/authenticate/res/css/yournew.css">
Use the example below and paste it into a new file called yournew.css. Then place this file in:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~auth-http~<VERSION>/web/res/css
/* Change logo
Important, change to correct height and width for image
*/
.top .logo {
display: block;
float: left;
background: url('../images/yourlogosmall.png');
background-repeat: no-repeat;
display: inline-block;
height: 27px;
width: 58px;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
/* Alternative 1: Remove background image */
body {
background: none;
background-color: green;
}
/* Alternative 2: Change background image*/
body {
background-color: #eee;
background: url('../images/yourbackgroundimage.png') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
So the images (in red) that is referenced in the example should be copied into:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~auth-http~<VERSION>/web/res/images
3. Choice of Language
To remove the possibility to choose language on the login page find the following line (phenix-store.json):
"allowLanguageChange" : "true"
on the AUTHENTICATOR used for Signing/Seal Service and set it to false.
To force the language, set the following parameter in the startup file:
Linux (start-PhenixID.sh), JAVA_OPTS="${JAVA_OPTS} -Dcom.phenixidentity.globals.defaultLanguage=en"
Windows (.vmoptions), -Dcom.phenixidentity.globals.defaultLanguage=en
4. Text
To change the text, locate the language file:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~auth-http~<VERSION>/web/res/lang/en/strings.xml
and customize the text according to your requirements.
5. "I am a human"
To remove this security checkbox, please follow this document:
http://document.phenixid.net/m/63284/l/683058-how-to-remove-the-security-checkbox-i-am-a-human
Customize the Signing/Seal page
1. Logotype
To change the logotype please edit the file:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-signingclient~<VERSION>/web/index.html
and add the following line after the other css link:
<link rel="stylesheet" href="{{moduleContext}}/css/logo.css">
Use the example below and paste it into a new file called logo.css.
Then place this file in:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-signingclient~<VERSION>/web/css/logo.css
/* Change logo when logged in
Important, change to correct height and width for image
*/
header.top .logo {
background: url('../images/yourlogo.png');
background-repeat: no-repeat;
display: inline-block;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
vertical-align: middle;
margin-right: 10px;
height: 27px;
width: 58px;
}
The image (in red) that is referenced in the example should be copied into:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-signingclient~<VERSION>/web/images
2. Name
To change the name displayed on the page, go to the Advanced tab in the configuration portal, click the pen next to Modules and search for com.phenixidentity~phenix-prism-signingclient.
Change the value "display_name" : "PhenixID Document Signing/Seal" to reflect your text, for example "display_name" : "CompanyName Signing".
To change the name displayed for the web page, go to the Advanced tab in the configuration portal, click the pen next to Modules and find for the com.phenixidentity~phenix-prism module associated with the signing client module. Easiest way would be to search for the id of the signing module. Change the value for "display_name" : "PhenixID Document Signing/Seal" to desired text.
3. Text and background colours
To change the colours, please edit the file:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-signingclient~<VERSION>/web/css/logo.css
Add the following text and change accordingly:
header.top .user .icon {
color: red;
}
header.top a {
color: red;
}
.tabs a {
color: red;
}
.tabs a:hover, .tabs a:active, .tabs a:focus, .tabs .active {
color: crimson;
}
header.top {
background: gray;
}
.tabs.above {
background: gray;
border-top-color: gray;
}
To remove the possibility to change language when logged in, add the following line:
"enable_language": "false"
to the module com.phenixidentity~phenix-prism used for Signing/Seal, like this example:
{
"name": "com.phenixidentity~phenix-prism",
"enabled": "true",
"config": {
"base_url": "/sealapp",
"auth_redirect_url": "/sealapp/authenticate/sealapp",
"module_refs": "sealappmod",
"display_name": "PhenixID Document Seal",
"enable_language": "false"
},
"id": "sealapp"
}
Federated signing (API)
Logotype can be changed in the same way as explained above, for Signing/Seal.
Changes will now be made to the file:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-fedsigning~<VERSION>/web/index.html
And the configuration should be saved in:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-fedsigning~<VERSION>/web/css/logo.css
Css file should look similar to this:
/* Change logo when logged in
Important, change to correct height and width for image
*/
header.top .logo {
background: url('../images/yourlogo.png');
background-repeat: no-repeat;
display: inline-block;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
vertical-align: middle;
margin-right: 10px;
height: 27px;
width: 58px;
}
header.top .user .icon {
color: red;
}
header.top a {
color: red;
}
.tabs a:hover, .tabs a:active, .tabs a:focus, .tabs .active {
color: crimson;
}
header.top {
background: gray;
}
.tabs.above {
background: gray;
border-top-color: gray;
}
The image (in red) that is referenced in the example should be copied into:
<PhenixIDinstallationdirectory>/mods/com.phenixidentity~phenix-prism-fedsigning~<VERSION>/web/images
Image folder needs to be created.