Authentication plugins are used to authenticate users logging into the web frontend. Probator ships with a plugin utilizing a built-in user database, but its rather trivial to implement authentication plugins for OIDC, SAML etc.
All authentication plugins must inherit from the probator.plugins:BaseAuthPlugin class, described below.
The BaseAuthPlugin is itself a subclass of the BasePlugin. In order the successfully implement a base plugin you will need to
implement the following attributes and methods on your class;
| Name | Type | Description | 
|---|---|---|
| ns | attr: string | The configuration namespace for the plugin | 
| views | attr: list | A list of the views needed to handle authentication, such views accepting the post data from a login form or a callback URL for use with SAML or OIDC | 
| readonly | attr: bool | If set to True, any write operations done from the admin section in the web
frontend will be blocked, except modifying the users roles | 
| login | attr: stringordict | This attribute provides the frontend information about where to send the user for login. If this is a string, it will be treated as a URL to redirect the user to. This can also be a single-key  | 
| bootstrap | method | (Optional) This method will be executed when the API server starts up. This can be useful to do any initial setup tasks. For example, the built-in local auth plugin will generate the initial admin user and password, if not present | 
For a look at a real auth plugin, you can browse the code for the local authentication plugin in Gitlab