Handover URL - corrupted URL for Angular Routing (HashLocationStrategy)
Wednesday, January 23, 2019 at 03:06amHas anyone noticed problems with the handover URL and hash location strategy routing? If so, have you found a workaround?
When setting the handover url to something like "https://www.mydomain.com/#esign", we are seeing different behavior between the handover button and text link. The parameters that OneSpan Sign injects into the URL are in two different locations:
TextLink: http://www.mydomain.com/?email=me%40myemail.com&package=sTXJEk1Qh3gRLErofZH26xiDYkI%3D&signer=Signer1&status=SIGNER_COMPLETE#esign
ButtonLink (generated via JQuery): https://www.google.com/#esign?package=sTXJEk1Qh3gRLErofZH26xiDYkI%3D&signer=Signer1&email=me%40myemail.com&status=SIGNER_COMPLETE
The ButtonLink has the correct URL, however, for the Text Link the URL is wrong. The parameters are injected between the end of the baseURL (domain) and the # (hash), which confuses our Angular routing, which is using HashLocationStrategy.
Has anyone else seen this? Are there any known workarounds other than avoiding HashLocationStrategy, which we are looking into, however, configuration and testing impacts are impeding progress and it now involves multiple internal teams.
Below is a sample JSON payload.
Note we are also seeing this with the Java SDK.
{
"name": "Customizing Signing Ceremony",
"settings": {
"ceremony": {
"events": {
"complete": {
"dialog": false,
"redirect": ""
}
},
"inPerson": true,
"declineButton": true,
"declineReasons": [],
"disableDeclineOther": false,
"disableDownloadForUncompletedPackage": false,
"disableFirstInPersonAffidavit": true,
"disableInPersonAffidavit": false,
"disableOptOutOther": false,
"disableSecondInPersonAffidavit": true,
"documentToolbarOptions": {
"downloadButton": true
},
"handOver": {
"title": "You will be redirected to Google homepage",
"href": "http://www.google.com/#esign",
"text": "Exit to site"
},
"hideCaptureText": false,
"hideLanguageDropdown": true,
"hidePackageOwnerInPerson": true,
"hideWatermark": true,
"maxAuthFailsAllowed": 3,
"optOutButton": true,
"optOutReasons": [
"Decline terms."
],
"style": null,
"layout": {
"footer": {},
"navigator": true,
"brandingBar": {
"logo": {
"src": "http://www.logo-maker.net/images/common/company-logo8.gif",
"link": ""
}
},
"header": {
"feedback": true,
"globalActions": {
"confirm": true,
"download": false,
"hideEvidenceSummary": false,
"saveAsLayout": false
},
"titleBar": {
"title": true,
"progressBar": true
},
"breadcrumbs": false,
"globalNavigation": false,
"sessionBar": true
}
}
}
},
"documents": [
{
"approvals": [
{
"id": "ExampleSignatureId",
"role": "Signer1",
"fields": [
{
"page": 0,
"top": 200,
"subtype": "LABEL",
"height": 50,
"left": 100,
"width": 200,
"id": "myLabelField",
"type": "INPUT",
"value": "Example label field value"
},
{
"page": 0,
"top": 100,
"subtype": "FULLNAME",
"height": 50,
"left": 100,
"width": 200,
"type": "SIGNATURE",
"name": "ExampleSignatureId"
}
],
"name": ""
}
],
"id": "sample-contract",
"name": "Test Document"
}
],
"status": "SENT",
"type": "PACKAGE",
"roles": [
{
"id": "Signer1",
"type": "SIGNER",
"signers": [
{
"email": "me@some_email_domain.com",
"firstName": "John",
"lastName": "Smith",
"id": "Signer1"
}
],
"name": "Signer1"
}
],
"name": "Example Package"
}
Reply to: Handover URL - corrupted URL for Angular Routing (HashLocationStrategy)
Wednesday, January 23, 2019 at 10:23am