1

我们在我们的应用程序中使用 identityserver3 和成员身份重新启动进行身份验证。

我们现在需要在我们的应用程序的管理区域中更改用户名电子邮件和重置用户密码。我见过 Identity Manager,但这似乎不是我想要的。从阅读 Membership Reboot Wiki 看来,它似乎支持我想做的一切。我只是不知道这个实现会是什么样子。

我的想法是,我们会调用我们的 API,我们知道用户已经过身份验证,然后调用 MembershipReboot API 来处理手头的任务,无论是更改用户名、电子邮件还是重置密码。

但就像我说的,我不确定。我们应该使用 Identity Manager 中间件吗?感觉这不是答案,因为我们正在编写自己的管理界面,据我所知,它不支持通过电子邮件重置密码,而 MembershipReboot API 表示支持。

或者我们应该回调我们的身份服务器并进行更改?感觉不像,因为那是为了登录应用程序。

4

2 回答 2

1

是的,您需要创建自己的代码以允许用户更新他们的人口统计信息,包括电子邮件和密码。

您需要使用 UserAccountService -> 此代码我正在使用我自己的 CustomUser 存储通常存储在 UserAccount 表中的所有信息

_userAccountService = new UserAccountService<CustomUser>(new CustomUserRepository(new CustomDatabase()));

然后使用:

  _userAccountService.ChangeEmailRequest();
_userAccountService.ChangeUsername();
_userAccountService.ChangePassword();

如果您希望用户通过电子邮件执行此操作(在他们未登录时使用)

 _userAccountService.ChangePasswordFromResetKey()
于 2015-12-17T13:07:16.157 回答
0

我也在看这个,但还没有真正实现它。是的,我认为您需要自己调用 MembershipReboot API 是对的。类中有一些方法UserAccountService可以执行这些功能。请参阅 MembershipReboot 源代码中的示例 SingleTenantOwinSystemWeb。IdentityManager 功能有限,但对于开发人员设置具有角色和声明等的用户进行测试或作为基本管理工具很有用。

于 2015-10-20T21:35:45.767 回答