What you&#x27;re describing is &quot;use a synthetic primary key for your User&quot;, which is something even the most naive junior web developer does automatically these days. There&#x27;s nothing special about LinkedIn and Facebook except that they went through the trouble of adding additional authentication mechanisms. You can too, no matter what you treat as a &quot;username&quot;.