title: What should i store as UserName from DotNetOpenAuth
body: <p>Im using DotNetOpenAuth to integrate <a href="http://www.google.com" rel="nofollow">Google</a>,<a href="http://www.yahoo.com" rel="nofollow">Yahoo</a>,<a href="http://www.Twitter.com" rel="nofollow">Twitter</a> and <a href="http://www.Facebook.com" rel="nofollow">Facebook</a> Logins into my application.</p>
  
  <p>Now everything works as expected.</p>
  
  <ul>
  <li>Twitter returns -> User-name and Claim-identifier(Just Id)</li>
  <li>Google returns -> Email-Address, First and last Name and ID(URL+ID)</li>
  <li>Yahoo returns -> Email-Address, Alias and ID (Url + ID)</li>
  </ul>
  
  <p>Also im also allowing my users to register internally so my database User table is like this:</p>
  
  <ul>
  <li>ID,UserName,Name,OpenID,LoginType,DisplayName</li>
  </ul>
  
  <p>im wondering what i should be storing as User-Name, i was thinking of the ID, but i have this questions:</p>
  
  <ol>
  <li>Shall i store the whole ID as User-Name ?!</li>
  <li>Would it affect performance to store the whole ID(URL) as username?</li>
  <li>If i extracted the ID from the Claim-Identifier would it still be unique between all 3 providers?</li>
  </ol>