Authentication provider dependecies

Authentication provider dependencies

Some of the plugins that manipulate the authentication process require the integration of a custom authentication provider into the login process. The default authentication provider is defined in the web.config (in the “authentication” setting) and this value should be changed if you want to make use of one or more of these plugins:

  • Password expiration (ID 205, Component M9442)
  • Self-service password change (ID 205, Component M9446)
  • TOTP authentication (ID 201, Component M9207)
  • Authentication events (P208, Component M9445)

If one of the above is used, changing the authentication setting is sufficient. The right value for the authentication setting can be found in the KB article covering the plugin settings.

If more than one of the above plugins is to be configured, it is also necessary to change the settings of the plugins so that it points to the next authentication provider. Each of the plugins has a built-in setting “.identificationprovider” that points to the Default authentication provider. You should change this setting for one or more of the plugins so that it points to the next plugin. This makes that the authentication providers are chained.

The suggested sequence is as follows:

Authentication events → Self service → Password expiration → TOTP → Default authentication.

So this makes the following configuration:

<add key="authentication" value="Novulo.Plugins.AuthenticationProcessEvents.AuthenticationProviders.AuthenticationProcessEventsAuthenticationProvider,NovuloAuthenticationProcessEvents"/>

<add key="AuthenticationProcessEventsAuthenticationProvider.identificationprovider" value="Novulo.Plugins.PasswordResetSelfService.AuthenticationProviders.SelfServicePasswordResetAuthenticationProvider, NovuloPasswordResetSelfService" />

<add key="SelfServicePasswordResetAuthenticationProvider.identificationprovider" value="Novulo.Plugins.PasswordExpiration.AuthenticationProviders.PasswordExpirationAuthenticationProvider, NovuloPasswordExpiration" />

<add key="PasswordExpirationAuthenticationProvider.identificationprovider" value="Novulo.Plugins.TOTPAuthentication.AuthenticationProviders.TOTPAuthenticationProvider, NovuloTOTPAuthentication" />

<add key="TOTPAuthenticationProvider.identificationprovider" value="Novulo.Framework.Controller.DefaultAuthenticationProvider, RightsSettings"/>

If any one of these plugins is not in your set-up, then remove the line and let the previous setting point to the next.