我的应用使用社交登录提供商(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查找该用户?
答案 0 :(得分:1)
喜欢在这里发布一个问题并在几分钟后找到答案......
只需添加对AddLogin的调用,现在一切正常
_repo.AddLoginAsync(user.Id, userLoginInfo);