0

我使用ASP.NET MVC 5並使用外部身份驗證(谷歌和Facebook),當用戶成功返回時,我調用GetExternalLoginInfoAsync()方法我得到一個默認的用戶名。在MVC 5中的外部身份驗證是用戶名返回唯一

我無法儲存這個默認返回的用戶名,因爲這不是唯一的(甚至在谷歌或Facebook,我說,因爲對我來說它返回我的名字,而不是我的Gmail ID)的

在MVC 4是用來獲取電子郵件ID,但在MVC 5中並沒有。

1. So my question is how can I get a unique name and store that as username? 

的MVC 5示例應用程序要求用戶選擇一個用戶名,我不想這樣做,我只是想抓住用戶的電子郵件(或指定供應商領域內的任何唯一的ID)並使用它作爲用戶名。

2. How can this be safeguarded when user chooses to not give access 
    to e-mail/basic profile info when prompted? 
+0

在FB的情況下,我得到的用戶fbid(一串數字),我可以用「facebook-」作爲前綴並存儲爲用戶名,並且它將是唯一的。對於Google和Microsoft登錄類似,我保證會獲得谷歌/微軟領域內至少有一個唯一的用戶名? 我的想法是存儲用戶名前綴如'谷歌','MS-','臉譜'等 – indichimp

回答

0

只需查找電子郵件聲明並使用它來創建本地帳戶。