-
-
Notifications
You must be signed in to change notification settings - Fork 58
Home
PM> Install-Package UmbracoIdentity
There's also a nightly Nuget feed: https://ci.appveyor.com/nuget/umbracoidentity-nightly
There is also just an UmbracoIdentity.Core package too in case you just want the binaries
You must add these properties to your Member Types:
Name | Alias | Type | Mandatory | Show on profile | Member can edit |
---|---|---|---|---|---|
Security Stamp | securityStamp | Umbraco.Textbox | no | no | no |
If you don't add these properties, you will end up with tons of warnings in your logs and things will not work properly.
The easiest way to demonstrate how this all can work is to
-
The Nuget install has already created a view called '~/Views/Account.cshtml', be sure to copy/paste the markup in this view to Notepad temporarily
-
Create a new Document Type, for this example we'll call it "Account"
-
Let it create a template for you (this may overwrite the ~/Views/Account.cshtml content)
-
If the ~/Views/Account.cshtml file has been overwritten, paste back in the contents of the file you saved earlier
-
Create a Content item of this document type, publish it and view the result
Important note: Because this is using a different authentication mechanism than Umbraco normally uses, it means that a few of the MembershipHelper
methods will not work, such as sign in/out. You will need to use OWIN to perform these methods.
The Nuget install will install an MVC controller: UmbracoIdentityAccountController
that contains all of the logic that the Visual Studio template has, except that the logic is updated to work nicely with Umbraco.
The Nuget install will also install some models and views. The models are basically the same as the Visual Studio template ones and the views that are there can be used as examples on how to integrate everything in Umbraco.
The Account.cshtml file uses the AccountLayout.cshtml file as the layout and uses 'Foundation' as the css framework. The Account.cshtml file renders 5 main partial views:
When not logged in:
- ~/Views/UmbracoIdentityAccount/Login.cshtml
- ~/Views/UmbracoIdentityAccount/ExternalLoginsList.cshtml
- ~/Views/UmbracoIdentityAccount/Register.cshtml
When logged in:
- ~/Views/UmbracoIdentityAccount/LoginStatus.cshtml
- ~/Views/UmbracoIdentityAccount/Profile.cshtml
There are other partial views in the ~/Views/UmbracoIdentityAccount folder which are used for other aspects of the Identity integration which you can browse.
These config updates 'should' be taken care of by the nuget install, but you should double check to be sure.
Remove FormsAuthentication from your web.config, this should be the last entry in your httpmodules lists:
<remove name="FormsAuthenticationModule" />
The entry is slightly different for the system.webServer/modules list:
<remove name="FormsAuthentication" />
You then need to disable FormsAuthentication as the authentication provider, change the authentication element to:
<authentication mode="None" />
Replace the 'type' attribute of your UmbracoMembershipProvider in your web.config to be:
"UmbracoIdentity.IdentityEnabledMembersMembershipProvider, UmbracoIdentity"
What is OWIN? If you are unsure, be sure to read this before you continue!
If you are familiar with OWIN then here's whats been installed and how to use it
-
Models/UmbracoApplicationMember
- this is similar to the ApplicationUser class that comes with the VS 2013 template, except that this one inherits from UmbracoIdentityMember. You can customize this how you like. -
App_Start/UmbracoIdentityStartup
- this is the OWIN startup class that will be used - In your web.config, change the appSetting
owin:appStartup
to:UmbracoIdentityStartup
- The
UmbracoIdentityStartup
file is now your OWIN startup class, you can modify it if you require Identity customizations. If you want to enable 3rd party OAuth authentication, you'll need to follow the normal ASP.Net Identity documentation, sample code for this exists in theUmbracoIdentityStartup
class.
Info on external authentication like Azure AD, Identity Server, Google and Facebook auth, etc...
Some known issues and limitations and potential work arounds
Info on custom startup/configuration and specifying your own user store or user manager.