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://our.umbraco.com/documentation/reference/security/external-login-providers/
This example only works on Umbraco 10.2 or higher.
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: