[18.0][ADD] vault_portal: portal access to shared vaults - #983
Conversation
7f0ba30 to
d29ad30
Compare
d29ad30 to
2003667
Compare
|
@jans23 it would supercool if you review this 99% AI coded module... we deployed it in test and it looks like ok... |
9896025 to
e51639c
Compare
|
My colleague would be better positioned for reviewing. @KDRdev could you review it please? |
f679355 to
bec3f00
Compare
|
still WIP |
4326b21 to
2d9dbc1
Compare
|
ready for review |
fkantelberg
left a comment
There was a problem hiding this comment.
I left only some comments. The same applies for most of the JS. Please use the framework and controllers instead of doing everything with plain JS when it's not needed. Also a lot of the important functions like encryption/decryption etc. is duplicated and can lead to problems in the future. I haven't tested it yet and from glancing over it the key management might be a problem or atleast not fully supported (invalidation, new password etc.)
2d9dbc1 to
e1faa6d
Compare
b16b956 to
ce132fd
Compare
Thanks for reviewing this 99% AI dev... I was unable to review js/controller because of my very bad level in it... |
|
tests fail because of cross_connect_server/tests/test_cross_connect_server.py |
69f55f9 to
b70627c
Compare
fkantelberg
left a comment
There was a problem hiding this comment.
Tell me if it's working again and you need a proper review + tests. It goes into a better direction now.
b70627c to
c8f09b9
Compare
Extends vault (OCA/server-auth) to let portal contacts view and, where explicitly granted per contact, edit or add password field values from their own portal account. Access stays strictly per individual, end-to-end encrypted exactly like internal users: each contact holds their own key pair, and the vault's master key is re-wrapped for them individually. Two clients never share any key material. Read-only by default at every layer (model access, ir.rule and vault.abstract.check_access(), unchanged from "vault"): the vault itself and entry names always stay read-only from the portal; only the value of a vault.field can be written, gated by vault.right.perm_write/perm_create per contact. An optional MFA policy (Settings > Vault) can require two-factor authentication before a portal contact is granted write access, or any access at all; disabling 2FA afterwards applies the same policy in reverse. Assisted-by: Claude Sonnet 5
c8f09b9 to
fffc8a2
Compare
Extends vault (OCA/server-auth) to let portal contacts view and, where explicitly granted per contact, edit or add password field values from their own portal account.
Access stays strictly per individual, end-to-end encrypted exactly like internal users: each contact holds their own key pair, and the vault's master key is re-wrapped for them individually. Two clients never share any key material.
Read-only by default at every layer (model access, ir.rule and vault.abstract.check_access(), unchanged from "vault"): the vault itself and entry names always stay read-only from the portal; only the value of a vault.field can be written, gated by
vault.right.perm_write/perm_create per contact.
An optional MFA policy (Settings > Vault) can require two-factor authentication before a portal contact is granted write access, or any access at all; disabling 2FA afterwards applies the same policy in reverse.
Assisted-by: Claude Sonnet 5