MembershipReboot更改用户名,电子邮件和重置密码

时间:2015-10-16 19:17:37

标签: identityserver3 membershipreboot

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

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

我的想法是,我们会调用我们的API,我们知道用户已经过身份验证,然后只需调用MembershipReboot API来处理手头的任务,即更改UserName或Email或Reset Password。

但就像我说的那样我不确定。我们应该使用Identity Manager中间件吗?感觉就像我们正在编写自己的管理界面并且从我所看到的是通过电子邮件支持密码重置并且MembershipReboot API表明确实如此。

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

2 个答案:

答案 0 :(得分:1)

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

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

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

然后使用:

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

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

 _userAccountService.ChangePasswordFromResetKey()

答案 1 :(得分:0)

我也在看这个,但实际上还没有实现它。是的我认为您需要自己调用MembershipReboot API。 first_function( paramForThirdFunc1,paramForThirdFunc2); 类上有一些方法可以执行这些功能。请参阅MembershipReboot源代码中的示例SingleTenantOwinSystemWeb。 IdentityManager功能有限,但对于开发人员设置具有角色和功能的用户非常有用。索赔等用于测试,或作为基本的管理工具。