hi, I'd love to see a whitepaper explaining how bad web access is like with CORS craziness vs. how simple it could be via other, oh i dunno maybe capability style, mechanisms. It just seems like the industry keeps doubling down on the insanity and there's no significant voice of reason anywhere.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAJ7XQb5LOA3u%2B%2BiS69sGxux7m3Sk%2B%2Bhgi8AEBdpwFER5g8uE_A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/51403af0-d4b7-4c8f-a1b7-065e318e72e3n%40googlegroups.com.
Hi, it’s been a while! I’m back because I’m building a web-based 3D equation visualization whiteboard (everyone shivers).
I still don’t know everything about capabilities.
I’ve assumed for a long time that tokens or certificates should be used, probably like UMP. But there should be a mapping between tokens and items in HTML. That is, you shouldn’t directly use a name (or a token identifying an element) in a web page that you are also using in a shared JSON protocol. That is, expect people to use the protocol to inject things into your web page if you are using the protocol to directly look up things into your web page. There are some solutions to this: 1) append something to your name, like a suffix, before putting it in a web page. This isn’t ideal. You can try multiple suffixes for related elements. 2) validate everything you are receiving. This is good. 3) use a mapping between protocol tokens and web ids or names, leaving out internal web ids or names 4) some combination. 5) others?
Watch out for uninitialized names.
The approach I’m looking into is using X3D+DIS, https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/dis.html where the DIS-like protocol is a combination of a web protocol and a standardized protocol. Probably DIS is best done over VPN, so access can be revoked. With a non-official X3DOM implementation, websockets are used instead of UDP multicast. A lot of integers are used in DIS, looks very confusing to debug, a binary protocol. I have heard of XML versions of DIS.
What I’d like to see is some form of DIS for HTML and SVG. Seems challenging. What I’d like to see is DIS (or HTML-DIS) built into the browser. But to do things right, one needs <ROUTE> and <field> from X3D, I think. These are built into X3DOM and X_ITE. I’m hoping the declarative syntax won’t chase people away. It’s just XML. Scripts can be optional.
I also came up with a mockup role-based web-page security system based on security oriented sheets (like SQL operators or file system operators in a CSS-like stylesheet ), much like a firewall. There were three roles in an enum: USER [sic] , AUTHOR [sic], and OTHERS [sic], and 10 operators. One could do document.securitySelector(css_selector). Then I imagined putting the whole thing into the OS, and concluded it was just like a firewall. AUTHOR is remote network port 80 or 443, USER is non-networked i/o and OTHERS are web sockets, etc. But it’s role-based even if roles are hidden in the OS.Ultimately, if resource and operation aren’t tied together, you end up with a mess. Say “no” to ambient authority.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/4a203d1a-19b2-478f-9766-03f8e88f7ca2n%40googlegroups.com.
Hi, it’s been a while! I’m back because I’m building a web-based 3D equation visualization whiteboard (everyone shivers).I'm not. In fact, I could have used a tool like this last month. Is your tool anything like https://www.desmos.com/?
I still don’t know everything about capabilities.I don't think anybody does.I’ve assumed for a long time that tokens or certificates should be used, probably like UMP. But there should be a mapping between tokens and items in HTML. That is, you shouldn’t directly use a name (or a token identifying an element) in a web page that you are also using in a shared JSON protocol. That is, expect people to use the protocol to inject things into your web page if you are using the protocol to directly look up things into your web page. There are some solutions to this: 1) append something to your name, like a suffix, before putting it in a web page. This isn’t ideal. You can try multiple suffixes for related elements. 2) validate everything you are receiving. This is good. 3) use a mapping between protocol tokens and web ids or names, leaving out internal web ids or names 4) some combination. 5) others?I don't understand this paragraph. Can you give an example?
Watch out for uninitialized names.It's probably better to make sure an uninitialized name can't result in anything bad happening in case you miss one.The approach I’m looking into is using X3D+DIS, https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/dis.html where the DIS-like protocol is a combination of a web protocol and a standardized protocol. Probably DIS is best done over VPN, so access can be revoked. With a non-official X3DOM implementation, websockets are used instead of UDP multicast. A lot of integers are used in DIS, looks very confusing to debug, a binary protocol. I have heard of XML versions of DIS.
What I’d like to see is some form of DIS for HTML and SVG. Seems challenging. What I’d like to see is DIS (or HTML-DIS) built into the browser. But to do things right, one needs <ROUTE> and <field> from X3D, I think. These are built into X3DOM and X_ITE. I’m hoping the declarative syntax won’t chase people away. It’s just XML. Scripts can be optional.I think you'd do better looking for a protocol designed specifically for the web. If it's for the web, I'd go with JSON instead of XML.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z0-gfoDgZ7HtiSWO5jV%2Bwg8hPJiyxYYs2yaSs0Mdepv6w%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z0-gfoDgZ7HtiSWO5jV%2Bwg8hPJiyxYYs2yaSs0Mdepv6w%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAGC3UE%3DWbH9Whh4vRkKaxnQU%3DK-yiwCKa84e%3DXdDKNQA9e5uNA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z1ysBF9UmyzW%2BUm4u5ht1D8nRDJ_pcwqWTwwhLLvHiqkQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAGC3UEkehWHLy7YbU271%3D6_ZirdKt5mCr%3Ds_UXoGfAvsSUZtvQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z3opVHCi2tgXptp0c_ghuyYD_Vk9YYhzHLaRVW3TZHjng%40mail.gmail.com.
Alan,1. It just occurred to me that I’m trying to achieve something with multiuser X3D scenes for HIPPA compliance. Something like shared manipulation of X3D scenes over Zoom without screen sharing. Multiuser virtual remote surgery, or surgery education, but without expensive video feeds. Digital Twin humanoids.
I’m guessing medical schools and students will be my first potential income source. But this is a hobby right now. Things change daily.============What I’m not doing is video/audio conferencing; currently, I’m working on groups for chatting (and sharing scene updates) and to understand how tokens can be used in the Metaverse and socket.io and how to manage tokens in a personal entity-relationship database, etc. Christoph Valentin suggested that I add Session Description Protocol (SDP) so I added temporary users—beyond simple numbers for each connection and rooms (as supported by socket.io). Thus there becomes a need to separate scene traffic.
Here’s the design of a *local* database.Entity/Group/Being Table* Pet name* Token (access to remote chat group)* Type* Link (Scene, Avatar, Room, possibly a BLOB)Petname Relationship Table* Parent Pet name* Relationship type* Child Pet name
Plus IDs and dates (sessions)I had not heard of Pet name relationships before, so this might interest the group.Currently, the scene update traffic and group traffic are separated by API only. The scene should probably have a token filled in through a template. I already planned for templates for SDP.2. I don’t have a development yet for revocation yet, but if you exit the client or go to another group, you will be removed from the original group. You can currently use your original token to resume. It’s kind of up to you to continue to use tokens or not.
I know about token granting tokens. I know how to kick someone out of a group. I guess can create an internal mapping from a group entrance token (single use) to a group token (not revealed), then remove the mapping from the group entrance token to the group. You can still use the unlinked group entrance token to talk to the person, if they return to the entrance, or remap the tokens if the issue is resolved. One problem is, I would have to currently exit the group to talk to the offender. Users currently only have one group they are in. Only one scene can be shown at a time. What I plan to do is separate group chats into separate tabs in the browser, for simplicity.
Sessions are timed groups. If the session token is presented before or after the time interval, it won’t work.I know that delegation can supposedly be monitored. I’ll just say that capabilities can be transmitted, hopefully through secure means.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAGC3UE%3DTvSiVADPvpAA7MahQBS8SXq2Cqn0sXq9k4WveoCOodA%40mail.gmail.com.
Sorry for the late reply. It's a lot to think about. Comments inline.
--------------
Alan KarpOn Wed, Sep 18, 2024 at 5:55 PM John Carlson <yott...@gmail.com> wrote:Alan,1. It just occurred to me that I’m trying to achieve something with multiuser X3D scenes for HIPPA compliance. Something like shared manipulation of X3D scenes over Zoom without screen sharing. Multiuser virtual remote surgery, or surgery education, but without expensive video feeds. Digital Twin humanoids.That's why I think the idea of sending mouse and keyboard events is appropriate. Much less data to transmit; much lower latency.
I’m guessing medical schools and students will be my first potential income source. But this is a hobby right now. Things change daily.============What I’m not doing is video/audio conferencing; currently, I’m working on groups for chatting (and sharing scene updates) and to understand how tokens can be used in the Metaverse and socket.io and how to manage tokens in a personal entity-relationship database, etc. Christoph Valentin suggested that I add Session Description Protocol (SDP) so I added temporary users—beyond simple numbers for each connection and rooms (as supported by socket.io). Thus there becomes a need to separate scene traffic.Are you talking about access tokens a la OAuth2?
Here’s the design of a *local* database.Entity/Group/Being Table* Pet name* Token (access to remote chat group)* Type* Link (Scene, Avatar, Room, possibly a BLOB)Petname Relationship Table* Parent Pet name* Relationship type* Child Pet nameWhat's a parent/child pet name?
Plus IDs and dates (sessions)I had not heard of Pet name relationships before, so this might interest the group.Currently, the scene update traffic and group traffic are separated by API only. The scene should probably have a token filled in through a template. I already planned for templates for SDP.2. I don’t have a development yet for revocation yet, but if you exit the client or go to another group, you will be removed from the original group. You can currently use your original token to resume. It’s kind of up to you to continue to use tokens or not.One mistake made by Google Wave was that they didn't record who invited whom to the group. As a result, you could eject an abusive member but not someone who kept inviting abusive participants. So, if you need a token to join, it should either encode the delegation chain or point to an encoding.
I know about token granting tokens. I know how to kick someone out of a group. I guess can create an internal mapping from a group entrance token (single use) to a group token (not revealed), then remove the mapping from the group entrance token to the group. You can still use the unlinked group entrance token to talk to the person, if they return to the entrance, or remap the tokens if the issue is resolved. One problem is, I would have to currently exit the group to talk to the offender. Users currently only have one group they are in. Only one scene can be shown at a time. What I plan to do is separate group chats into separate tabs in the browser, for simplicity.It sounds like all group communication is mediated by the "group," whatever that is. Do you plan to support private communication the way Zoom chat works?
Sessions are timed groups. If the session token is presented before or after the time interval, it won’t work.I know that delegation can supposedly be monitored. I’ll just say that capabilities can be transmitted, hopefully through secure means.In general, delegation cannot be monitored. For example, OAuth bearer tokens are delegated via token exchange. You submit your token to the Authorization Server asking for a new token with a subset of the submitted token's permissions. You then give that token to whomever you please. Even with certificates, there doesn't have to be a way to attach an identification to the public key the certificate is issued to.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z1p8y_P73fMKBMJEMYKyusfvH1e1O17n1cW%2B-g%3DTYcTug%40mail.gmail.com.
I’m imagining session descriptions like a phone contact list. There’s a contact name, and then a list of phone numbers or messaging accounts. This is intuitive. Ideally, I’d like to or organize one’s contact list anyway you like, and not just have two levels.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAGC3UEk0yRY43%2BXQSRQ90rEfZAfVQNc_puvfp4OPcgbT7hCA%3Dg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z0hhW4pGO6fZvGm3X%2BD87E9HXkhsWXeHaEqohrwrAEQfg%40mail.gmail.com.