Many people have asked for a sample of integrating MembershipReboot into IdentityServer as the identity management library. I was finally galvanized to build a sample and so here it is. It supports all four main extensability points of IdentityServer that related to users, which are the IUserRepository, IUserManagementRepository, IClientCertificatesRepository, and IClaimsRepository interfaces, so you can login (with both passwords and client certificates) and then from the admin screen you can create/delete users, set password, add/remove roles, and add/remove client certificates. I feel bad this it took so long to build this sample (since it only took about an hour to code it from scratch and get it configured and tested in IdentityServer).
Enjoy.
If instead of a DB, we authenticate through an internal REST service, with simple userId/pwd plus some custom profile parameters, which of the four extensability points would you recommend that we use? Thank you.
see here (under most common scenario):
https://leastprivilege.com/2013/05/17/customizing-identityserver/
Hi Brock,
Thanks for your sample. We have been using MembershipReboot together with ThinkTecture IdentityServer. I came across the SingleTenantWebApp sample under the MembershipReboot samples repo. It supports changing user names, sending verification emails, as well as a lot of other account management functions. Is IdentityServer designed to be customized to this extent? We find the existing interfaces in IdentityServer to be quite limiting when it comes to user account management which makes me feel that it may not be designed for such a purpose. It is possible that a separate User Account Management website must be added as an RP to IdentityServer? I would be grateful for your opinion. Thank you.
You want to leave that comment rather on Brock’s blog or on the github issue tracker.
David, I am trying to run a similar set up. I was able to run the Identity Server successfully but am not able to integrate MembershipReboot with it. Is it possible for you to share or provide steps in getting this up, please?