X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.22.2a (ClamAV engine v0.102.2) X-Junk-Score: 15 [X] X-KAS-Score: 15 [X] Return-Path: Received: from mail01.rucotec.ch ([65.21.159.64] verified) by post.selbstdenker.com (CommuniGate Pro SMTP 6.3.7) with ESMTPS id 27632318 for webobjects-dev@wocommunity.org; Sun, 10 Apr 2022 20:48:23 +0200 Received-SPF: softfail receiver=post.selbstdenker.com; client-ip=65.21.159.64; envelope-from=markus.ruggiero@rucotec.ch Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 2FB0E5DCC7 for ; Sun, 10 Apr 2022 20:48:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rucotec.ch; s=dkim; t=1649616483; h=from:subject:date:message-id:to:mime-version:content-type:in-reply-to: references; bh=IguT48Ys91wKp/L/rL5he92x+vfAcM6ezw3m83J75qA=; b=IiiJl1F/MNFdZs+Zi3QDZA4EJU7IxUD1QHJR2tYKYEROoUFEjQ5cYkGPUXt6TnMzvEaMTO sowvVER01TIwRjxKKuvXo+hl6jZb4CGY/OZ7AchXGyZrao3IYE6wu1Z/ivMaC53g/XYZPS WfI12434Ps6bxupF1KG+7pZ/lTyfgTAnxRAnAihpqnEGZFDleYfu4EKVQ9/cXb5aGMczhe 4z8NQkFvWPobPXge3AEhULeQpNknc8Cmbo3c32ENjjdRkbNXHYTZf2gtcU43HR0hIzhvQY CUlH4OJxzdCxR+whMAgNsC9LW4b+FH/oUGx/hn8ht/yZcG9Tl4s4FsE4pn0yjw== From: "Markus Ruggiero (rucotec)" Content-Type: multipart/signed; boundary="Apple-Mail=_2F8A50CC-1F5F-4261-9509-DF85BF8E26A1"; protocol="application/pkcs7-signature"; micalg=sha-256 Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: [WO-DEV] Need conceptual help Date: Sun, 10 Apr 2022 20:48:00 +0200 References: To: WebObjects & WOnder Development In-Reply-To: Message-Id: <1C89DB16-ADB0-4B4A-A90D-06C4087A6AED@rucotec.ch> X-Last-TLS-Session-Version: TLSv1.2 --Apple-Mail=_2F8A50CC-1F5F-4261-9509-DF85BF8E26A1 Content-Type: multipart/alternative; boundary="Apple-Mail=_D4459A50-401E-4934-987C-784335B53C24" --Apple-Mail=_D4459A50-401E-4934-987C-784335B53C24 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Thanks, this might help eventually.=20 However I did not want to create a native iPad app, just wanted to make = sure that the browser was known to the WO server application. But maybe = in the end a native app will be the solution - just not yet. ---markus--- > On 10 Apr 2022, at 18:20, J=C3=A9r=C3=A9my DE ROYER = wrote: >=20 > Bonsoir Markus, >=20 > Each app on an iPad has a unique ID set when the app is installed. >=20 > In Swift code, I use the code below : > - UIDevice.current.identifierForVendor!.uuidString >=20 > Using that, I can authorize the acces to an app for specific iPads. >=20 > I hope it will help you, >=20 > J=C3=A9r=C3=A9my >=20 >> Le 10 avr. 2022 =C3=A0 16:05, Markus Ruggiero (rucotec) = > a = =C3=A9crit : >>=20 >> Dear WO-ers, I need your expertise. >>=20 >> I want to have a defined set of tablets (iPad) tied into my = application. The tablets act as a satellite device in the context of a = customer checking into a clinic. The person comes up to the registration = desk and is checked in. The receptionist sees that there is some = registration data missing and hands the patient a tablet with the = running application (or directs the customer to "use the green screen = over there=E2=80=9D). The receptionist should now be able to remotely = open the registration screen on that green iPad, the customer filling in = the data and then pressing Save.=20 >>=20 >> My train of thoughts goes like this: >>=20 >> As a one-time operation an admin opens the application from that = green iPad, goes to a registration screen, and creates a =E2=80=9CSatellit= e" entry in the database. This entry gets a UUID (or something similar) = and that UUID should be put into the green iPads Web Storage. This is a = one-time registration of the device (actually the browser on that = device, not the device itself). >> When the workday starts the receptionist logs into the application on = the green iPad and goes to a dedicated screen. This screen then polls = every couple of seconds whether there is some task available on the = server. There may be a number of different tasks that the receptionist = can create. The receptionist assigns such a task to the green iPad (or = the red one or...) as an entry in the database and the polling iPad then = displays the task screen. This kind of pushes a task to a browser. When = the task is done the iPad goes back to polling. The server also knows = that the green iPad is busy or not. >>=20 >> I need to identify the polling iPad and I want to pre-register the = iPad as a security measure. >>=20 >> How would you tackle such a requirement? >> Thanks >> ---markus--- >>=20 >>=20 >=20 --Apple-Mail=_D4459A50-401E-4934-987C-784335B53C24 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Thanks, this might help eventually. 

However I did not want to create a = native iPad app, just wanted to make sure that the browser was known to = the WO server application. But maybe in the end a native app will be the = solution - just not yet.

---markus---

On 10 Apr 2022, at 18:20, = J=C3=A9r=C3=A9my DE ROYER <jeremy.deroyer@ingencys.net> wrote:

Bonsoir Markus,

Each app on an iPad has a unique ID set when the app is = installed.

In Swift code, I use the code below :
UIDevice.current.identifierForVendor!.uuidString

Using that, I can authorize the acces to an app for = specific iPads.

I hope it will help you,

J=C3=A9r=C3=A9my

Le 10 avr. 2022 =C3=A0 16:05, Markus Ruggiero (rucotec) = <markus.ruggiero@rucotec.ch> a =C3=A9crit :

Dear WO-ers, I need your expertise.

I want to have a defined set of tablets (iPad) tied into my application. = The tablets act as a satellite device in the context of a customer = checking into a clinic. The person comes up to the registration desk and = is checked in. The receptionist sees that there is some registration data missing and hands the patient a tablet with = the running application (or directs the customer to "use the green = screen over there=E2=80=9D). The receptionist should now be able to = remotely open the registration screen on that green iPad, the customer filling in the data and then pressing Save.

My train of thoughts goes like this:

As a one-time operation an admin opens the application from that green = iPad, goes to a registration screen, and creates a =E2=80=9CSatellite" = entry in the database. This entry gets a UUID (or something similar) and = that UUID should be put into the green iPads Web Storage. This is a one-time registration of the device (actually the browser on = that device, not the device itself).
When the workday starts the receptionist logs into the application on = the green iPad and goes to a dedicated screen. This screen then polls = every couple of seconds whether there is some task available on the = server. There may be a number of different tasks that the receptionist can create. The receptionist assigns such a task = to the green iPad (or the red one or...) as an entry in the database and = the polling iPad then displays the task screen. This kind of pushes a = task to a browser. When the task is done the iPad goes back to polling. The server also knows that the green iPad is = busy or not.

I need to identify the polling iPad and I want to pre-register the iPad = as a security measure.

How would you tackle such a requirement?
Thanks
---markus---







= --Apple-Mail=_D4459A50-401E-4934-987C-784335B53C24-- --Apple-Mail=_2F8A50CC-1F5F-4261-9509-DF85BF8E26A1 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCCzkw ggUhMIIECaADAgECAhBDXz2PBS4rcSTMoUCPbeA+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQG EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50 aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTE5MDUyMjAwMDAwMFoXDTIyMDUyMTIzNTk1 OVowKzEpMCcGCSqGSIb3DQEJARYabWFya3VzLnJ1Z2dpZXJvQHJ1Y290ZWMuY2gwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIAEK8S00IWrMmIpBkw5CcIS9RfaNGWyJOxskmtuYoHWE4 +QYfOO5tlWt4O5F6bTYsRWp1PpLirrdLhQoYIFp0P5Mi0nsBjNVP0zR0jNpDZreNcLcP7wmuIkUY C0fzxFgnRieFFgaXFm5yf46rqAJMVry/uR/KqwvY1d2F2gOb4DmntPp7TJtDsVyWQDtB82Uep+EO 9j71phQuMUb5TyA4aOdSb6UfCev1RgEw8vXrTdf+1rLzRZvIR1syfsqcLVmIO9WSl9mTH7IlZQhx SmTLqSTvTLssRGprVK8dhJl0nDvFuKknUGNxwCwON1ojJdZPgUJi1K+VvkCqDlI61czNAgMBAAGj ggHTMIIBzzAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUFRQz2DQf fM2xz9tI/Gy05p6XXc0wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYI KwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUH AgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwu c2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxD QS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNv bS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggr BgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wJQYDVR0RBB4wHIEabWFya3VzLnJ1Z2dp ZXJvQHJ1Y290ZWMuY2gwDQYJKoZIhvcNAQELBQADggEBACeso6Iombd/K2MXqk+u5cFNAi3kNRv5 t1WMA2YodqQxz/i/H9OxagG8Ukk5IcHgrikpy0dlOgJ9nOGEWJYrzZbLWZCMd7I8NQpT28vnkgKM 51tzAARg7mHu+SPKwvnDfYB8CFNSQ+Wlkq8wJHL9ALuTeGCRdnRmNtit8o/sRV25KoH6+0U2k08U TO5J+bzVendvcfygdf3bPp3+imRIlXJihwb2fg6OOMqVCnUFHKrdJULZ+SWSWNclriu5GbM1pKql d5dIrApf9M9b9XbY89XgHdFHA5bx7taL1Ie1msC23llmUVSYTHjNOqNrprgfKXvao1taAQvpDhzx BQXzO6YwggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQsw CQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAc BgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0 aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQsw CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk MRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBB dXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXj So5MqXUfItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQ PKA19xeWQcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ 79Khj1YBrf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se 3ed0PewDch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0j BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0A MA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMC BggrBgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2Ny bC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYG CCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJU cnVzdFJTQUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3Qu Y29tMA0GCSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHz tuOCtKF+xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz 1g3nIVO9IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk 2ddQXyn7kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI +jheXUV1eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO 2VnpsXP4KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3 a08LwEsL1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEG VqR1hiuQOZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niF hsM47qodx/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6m SWE3Bn7i5ZgtwCLXgAIe5W8mybM2JzGCA8QwggPAAgEBMIGrMIGWMQswCQYDVQQGEwJHQjEbMBkG A1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0 aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBh bmQgU2VjdXJlIEVtYWlsIENBAhBDXz2PBS4rcSTMoUCPbeA+MA0GCWCGSAFlAwQCAQUAoIIB6TAY BgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMjA0MTAxODQ4MDBaMC8G CSqGSIb3DQEJBDEiBCA/ys9Cy6TxTf1DbUjbV29lc1eOveTEzj/IdadRZ9jm4jCBvAYJKwYBBAGC NxAEMYGuMIGrMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAw DgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3Rp Z28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhBDXz2PBS4r cSTMoUCPbeA+MIG+BgsqhkiG9w0BCRACCzGBrqCBqzCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgT EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBM aW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNl Y3VyZSBFbWFpbCBDQQIQQ189jwUuK3EkzKFAj23gPjANBgkqhkiG9w0BAQsFAASCAQC73GOgk9Jy PmtusqGGc+pe5LTTp3S0Yuk4Qm+nGdN2Rb6Ze3WuV1C1C4ZVPzREyMrkNQF/vzg8OTxkbugDR+Bc 8CTOS5yncCtf7cIAxo5630riYexBrhhtMkPTDylWn9owMAOS9MgyvQpa1KfV+1grqhJij91dFqC7 tVIIbLiFOyuUZjJt9LsBihlf/TPnmLpoBEBvuJPLMMW1XrZGtZOickF/wOc0uaLc0+qrSL962jMj uoT+CIsczRAcfl4pO78M4OLEqS3NlIaqHf6cACKjm/a9UWiHCk7JlirpWsISc/860vh+xT7wY0jo 2Z0LtIQavQeQhT81Ib+42EdT5k7IAAAAAAAA --Apple-Mail=_2F8A50CC-1F5F-4261-9509-DF85BF8E26A1--