This topic describes using the IRegistrar interface in Episerver Commerce. This interface allows for the ability to have self-registered users who do not need any back-end access functionality. A common use case for this has a user store for management functions of your site, and another user store for customers who buy things from your e-commerce site. The idea behind the interface is to use EPiServer.ServiceLocation.ServiceLocator to register the default instance of the interface. Then in your front-end code you can use the ServiceLocator instance when writing your controllers so you could easily switch to a new IRegistrar user store in the future if need be.
Note: This configuration requires the EPiServer.Commerce.Security nuget packages as dependency.
Interface methods
- String AuthenticationType. Sets the OWIN Authentication Type
- IPrincipal CreateUser(string userName, string password, string email);. Creates a user in the user store and then returns a ClaimsPrincipal. The principal should contain the following claims for roles Everyone and Registered.
- void DeleteUser(string userName);. Deletes the user.
- bool ChangePassword(string userName, string oldPassword, string newPassword); Changes the password of the user.
- ClaimsIdentity CreateIdentity(string userName);. Creates the ClaimsIdentity with the proper claims provided by the user store.
- bool ValidateUser(string userName, string password);. Validates the userName and password.
- void SignIn(AuthenticationProperties properties, params ClaimsIdentity[] identities);. Call in the controller when logging in a user; gets the OWIN context and signin with the Authentication property of the OwinContext.
Related topics
Do you find this information helpful? Please log in to provide feedback.
Last updated: Oct 12, 2015