{ "id": "169674", "key": "MOD-2356", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10034", "key": "MOD", "name": "Appcelerator Modules", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "17643", "name": "Release 7.0.0", "archived": false, "released": true }, { "id": "19962", "name": "Ti.TouchID 2.1.5", "archived": false, "released": true } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-11-10T19:26:34.000+0000", "created": "2017-08-31T14:00:54.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-11-16T02:48:16.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "14565", "name": "TouchID" } ], "description": "As a follow-up of TIMOB-25181, we should expose the {{keepAlive}} boolean-property, so iOS devices (especially iOS 8) can terminate the current auth-context properly.", "attachment": [], "flagged": false, "summary": "iOS: Ti.TouchID - Expose \"keepAlive\" property to properly manage auth-contextlifetime", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "427450", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator-modules/ti.touchid/pull/34\r\n\r\nTest-case 1/3:\r\n{code:js}\r\nvar TouchID = require(\"ti.touchid\");\r\n\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar btn = Ti.UI.createButton({\r\n title: 'Trigger'\r\n});\r\n\r\nTouchID.setAuthenticationPolicy(TouchID.AUTHENTICATION_POLICY_PASSCODE);\r\nbtn.addEventListener('click', function() {\r\n TouchID.authenticate({\r\n reason: 'Can we?',\r\n keepAlive: false,\r\n callback: function(e) {\r\n console.log(e);\r\n }\r\n });\r\n});\r\n\r\nwin.add(btn);\r\nwin.open();\r\n{code}\r\n\r\nTest-case (2/3):\r\n{code:js}\r\nvar TouchID = require(\"ti.touchid\");\r\n\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar btn = Ti.UI.createButton({\r\n title: 'Trigger'\r\n});\r\n\r\nTouchID.setAuthenticationPolicy(TouchID.AUTHENTICATION_POLICY_PASSCODE);\r\nbtn.addEventListener('click', function() {\r\n TouchID.authenticate({\r\n reason: 'Can we?',\r\n callback: function(e) {\r\n console.log(e);\r\n }\r\n });\r\n});\r\n\r\nwin.add(btn);\r\nwin.open();\r\n{code}\r\n\r\nTest-case (3/3):\r\n{code:js}\r\nvar TouchID = require(\"ti.touchid\");\r\n\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar btn = Ti.UI.createButton({\r\n title: 'Trigger'\r\n});\r\n\r\nTouchID.setAuthenticationPolicy(TouchID.AUTHENTICATION_POLICY_PASSCODE);\r\nbtn.addEventListener('click', function() {\r\n TouchID.authenticate({\r\n reason: 'Can we?',\r\n callback: function(e) {\r\n console.log(e);\r\n TouchID.invalidate();\r\n }\r\n });\r\n});\r\n\r\nwin.add(btn);\r\nwin.open();\r\n{code}\r\n\r\nExpected behaviors:\r\n- 1) Auth-text get's invalidated, the prompt is shown every time\r\n- 2) Auth-text is kept alive, the prompt is shown until invalidated by the system\r\n- 3) Auth-text get's invalidated by calling {{invalidate()}}, the prompt is shown every time\r\n", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-08-31T14:39:31.000+0000", "updated": "2017-08-31T14:39:31.000+0000" }, { "id": "430417", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Passed FR and merged.", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-11-10T19:26:25.000+0000", "updated": "2017-11-10T19:26:25.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }