NAME

Dancer2::Plugin::Auth::Extensible::Provider::Config - example auth provider using app config

DESCRIPTION

This is a simple authentication provider which authenticates based on a list of usernames, passwords (crypted, preferably - see below) and role specifications provided in the realm definition in your app's config file.

This class is primarily intended as an example of what an authentication provider class should do; however, if you just want simple user authentication with user details stored in your app's config file, it may well suit your needs.

See Dancer2::Plugin::Auth::Extensible for details on how to use the authentication framework.

SYNOPSIS

In your app's config.yml:

plugins:
    Auth::Extensible:
        realms:
            config:
                provider: Config
                users:
                    - user: dave
                      pass: supersecret
                      roles:
                        - Developer
                        - Manager
                        - BeerDrinker
                    - user: bob
                      pass: '{SSHA}+2u1HpOU7ak6iBR6JlpICpAUvSpA/zBM'
                      roles:
                        - Tester

As you can see, you can define the usernames, passwords (please use crypted passwords, RFC2307-style, not plain text (although plain text *is* supported, but really not a good idea), and the roles for each user (if you're not planning to use roles, omit the roles section from each user entirely).

ATTRIBUTES

users

Array reference containing users from configuration.

METHODS

authenticate_user $username, $password

get_user_details $username

get_user_roles $username