This example shows how OpenID Connect can be used for members in Umbraco. It's a complete Umbraco solution with a SQLite database. Everything is already configured correct so you can just download the project and run it.
It's based on the external login providers documentation:
https://docs.umbraco.com/umbraco-cms/reference/security/external-login-providers
There are two versions of this example. The v13 version can be found in Umbraco-OpenIdConnect-Example.Web
, which references Umbraco-OpenIdConnect-Example.Core
. The v14+ version has been completely rebuilt and can be found in Umbraco-OpenIdConnect-Example-v14+
, offering full compatibility with Umbraco v14 and above.
Backoffice credentials:
Username | [email protected] |
Password | AKXT9fJGqBvKCVK5TqNZ |
External member credentials:
Username | [email protected] |
Password | juSp#&uf4a+omLkigIto |
Tip
I also created a fork of the Umbraco Delivery API - member auth demo. It adds support for external login providers. See this pull request for all the changes. You can also find more info in this blog.
You can watch a getting started video here: https://youtu.be/cklH7DtRDIQ
You can watch my online presentation here: https://youtu.be/I4ysh-czrYk
All important files that are used for this setup are in the Umbraco-OpenIdConnect-Example.Core
project.
- OpenIdConnectMemberExternalLoginProviderOptions.cs
This file is used to setup the auto link options. - UmbracoBuilderExtensions.cs
Extensions used to setup OpenID Connect and the related events. - ExternalLogoutController.cs
A new controller used for logout on the external login provider.
There is a free Auth0 account that this project connects with. The Client ID and Client Secret are already configured for that. Normally the Client Secret should not be in Github, but these settings are only used in this example so it's ok they are public. This is the project: