openbmc / bmcweb

A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC
Apache License 2.0
154 stars 131 forks source link

OemSession implements "client id" which is already covered in standard #187

Closed edtanous closed 1 year ago

edtanous commented 3 years ago

OemSession implements a new field, ClientId, which in practice is perfectly analogous to session id (the resource id itself). It's not clear why this extra unique ID was added, but it's unnecessary. Resources that need to reference the session can simply point to the session in question with a link, rather than needing an extra explicit ID.

gtmills commented 3 years ago

I think this "client id" needs to be read/write. Is that correct @ratagupt ?

https://redfishforum.com/thread/324/proposal-connected-redfish-client-info

gtmills commented 2 years ago

@sunharis Can you weigh in here?

sunharis commented 2 years ago

@edtanous @gtmills The Oem - ClientId is added to send an additional Id string from the client. This string is decided by the client and is an input to the BMC while creating the session. This can be a string holding the clients nick-name/serial number/machine-model number etc. Any other client connected can also see this ClientId and get to know "who" is the session owner.

The sessionId is something which BMC generates and the redfish client will not know/predict this value before-hand. And any other client connected will not be able to find "who" is the owner of that session.

We have the IP address stored at session object - but you can always create multiple sessions from a single IP address.

gtmills commented 2 years ago

Resolved by https://gerrit.openbmc.org/c/openbmc/bmcweb/+/56088

edtanous commented 1 year ago

Closing. This is now in the standard implementation.