无法通过FindAsync(UserLoginInfo)找到用户(社交登录)

时间:2015-05-16 15:07:10

标签: c# asp.net-identity asp.net-identity-2

我的应用使用社交登录提供商(facebook和linkedin)和asp.net Identity来获取会员资格。

以下代码创建用户

IdentityUser user = new IdentityUser(username);
IdentityResult identityResult = await _repo.CreateAsync(user);

然后我希望能够通过以下调用找到用户

IdentityUser user = await _repo.FindAsync(new UserLoginInfo(provider,username));

然而,这不断返回任何用户。用户确实是在具有正确用户名的表AspNetUsers中创建的。我希望这个问题与以下事实有关:我实际上并没有告诉Create方法它是该提供商特有的身份,但我不知道在哪里或如何查找信息。

我搜索过微软的文档,无法找到更合适的方式进行此调用。我已经搜索过这个主题的教程,而且到处似乎都像我一样。

1)使用CreateAsync创建没有密码的用户时,如何使用基于社交提供程序的FindAsync查找该用户?

1 个答案:

答案 0 :(得分:1)

喜欢在这里发布一个问题并在几分钟后找到答案......

只需添加对AddLogin的调用,现在一切正常

_repo.AddLoginAsync(user.Id, userLoginInfo);