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

只需查找电子邮件声明并使用它来创建本地帐户。

相关问题