Clients can win prizes on service and our team has to check their identity before giving prizes to them. Is there any way to collect photo ID while people signing up? Is it legal? Or there is some other way to check that it is not the same person signed up twice?
"Welcome to the Internet, where no one knows that you're a dog."
You cannot rely on any info supplied by a user to be globally unique in identifying themselves.
Any process you can devise can be manipulated. Even if you collected passport page photos, you would still not be able to confirm that every winner was unique. For example, my wife has a passport from one country with her maiden name, and a passport from another country with her married name. There are also online fake ID generators for just about any country you would like.
Instead, you have to design the process:
- to be more expensive to manipulate the process than the prize is worth (e.g. have a proof of purchase tied to a specific account)
- to be tied to a long-term proof of relationship or activity (certain amount of reputation points in your system, depth or complexity of history on a social network)
If you cannot do these things, or if they are contrary to your goals for having a prize, then you need to not care if someone was able to win multiple times, or gain enough benefit from someone winning, even if someone wins multiple times.
For example, in order to win (or claim their prize), they have to advertise you on their social network. Even if someone won 100 times, that would mean that they would have to have 100 accounts and have all of them advertising for you. That's not such a bad thing.