How to getDeviceIdentifiers() independent on user

Hello,
I want to make my application need authorisation only one time for all users on computer.
So I need to register in some way the unique device ID.
But SystemStats::getDeviceIdentifiers() return the values which are dependent on user name.

Maybe it could be good idea to get some mother board serial number?

Do you have any experiences and advices in that issue?

For any suggestions great thanks in advance.

Best regards.

iirc SystemStats::getDeviceIdentifiers() is using some kind of user specific folder ID in the first place, but if for some reason it can’t get one it falls back to using the MAC address, perhaps you could just copy that code in order to get the same to use as an identifier?

Hello, thanks for answer.
As I understand you mean to use just MAC address. But as far as I know, I have some customers that use audio plugins on machines without network card. So in that case I am not sure if MAC address is relevant?
That’s why I thought the motherboard ID would be better. But can’t find the method to get such ID.

Best Regards.

Perhaps you might find something useful here : https://oroboro.com/unique-machine-fingerprint/

That’s great,
thanks

Seems that link is down and I’ve hit this problem.

I was previously using a combination of computer name + device identifier, but unfortunately, it appears this can change for the user when moving from network to network.

Is there another bullet proof solution for cross platform computer identifiers which never change?

I’ll mention these up front to square these bits away:

  1. You don’t have control over what IP address is assigned to a NIC (which could be set up with a fairly dynamic network, like a user’s home network that’s using fairly default settings) so you can’t use that.
  2. Using a MAC address is out of the question as it’s likely randomised by the OS by default. In fact, requesting the MAC address might bring up a notification for security access to a user.

Using a hard drive’s serial is certainly one method, which requires various native calls, and that you’re sure to disregard USB drives, CD drives, anything removable.

Another method could be to save a juce::UUID somewhere on the user’s system: this would work equally well on mobile and desktop (and therefore in apps and plugins alike).

nice! I like the UUID idea, thanks JR!