【发布时间】:2014-04-30 23:28:16
【问题描述】:
使用 OWIN 身份验证的 ASP .NET 身份 - 我想做以下事情: 用户应该能够创建他们喜欢的用户名。电子邮件虽然是一个声明,但应该是唯一的 - 考虑以下场景。
用户首先在本地注册。用户决定在第二次访问时使用 FB 或 Google 登录。通过确定 OAUTH 范围,我检索了他们的 FB/Google 注册电子邮件。 在这一点上,我想: 1. 查看该特定电子邮件是否存在索赔。 2. 检索与该电子邮件关联的用户 ID。 3. 在 AspNetUserLogins 表中为该特定用户和他/她的特定提供者插入一个新行。
这样,除非用户在 site/fb/google 上使用了不同的电子邮件,否则他们将能够使用所有 3 个电子邮件登录同一个用户个人资料。
但要做到这一点,我需要以某种方式检索所有声明。我已经通过 ApplicationDbContext 和 IdentityDbContext 进行了尝试,但我没有找到声明的映射。只有用户和声明似乎与用户相关。
有没有办法检索数据库中的所有声明? (或者也许有人可以建议我用一种不同的、更方便的方式来做这件事。)
【问题讨论】:
标签: c# asp.net-mvc