Openmaize v3.0.1 Openmaize.Config

This module provides an abstraction layer for configuration.

The following are valid configuration items.

nametypedefault
crypto_modmoduleComeonin.Bcrypt
hash_nameatom:password_hash
log_levelatom:info
drop_user_keyslist of atoms[]
password_min_leninteger8
remember_saltstringN/A

Examples

The simplest way to change the default values would be to add an openmaize entry to the config.exs file in your project, like the following example.

config :openmaize,
  crypto_mod: Comeonin.Bcrypt,
  hash_name: :encrypted_password,
  drop_user_keys: [:shoe_size],
  password_min_len: 12

Summary

Functions

The password hashing and checking algorithm. Bcrypt is the default

The keys that are removed from the user struct before it is passed on to another function

The name in the database for the password hash

The log level for Openmaize logs

Minimum length for the password strength check

Salt to be used when signing and verifying the remember me cookie

Functions

crypto_mod()

The password hashing and checking algorithm. Bcrypt is the default.

You can supply any module, but the module must implement the following functions:

  • hashpwsalt/1 - hashes the password
  • checkpw/2 - given a password and a salt, returns if match
  • dummy_checkpw/0 - performs a hash and returns false

See Comeonin.Bcrypt for examples.

drop_user_keys()

The keys that are removed from the user struct before it is passed on to another function.

This should be a list of atoms.

By default, :password_hash (or the value for hash_name), :password, :otp_secret, :confirmation_token and :reset_token are removed, and this option allows you to add to this list.

hash_name()

The name in the database for the password hash.

If, for example, you are migrating from Devise, you will need to change this to encrypted_password.

log_level()

The log level for Openmaize logs.

This should either be an atom, :debug, :info, :warn or :error, or false.

The default is :info, which means that :info, :warn and :error logs will be returned.

password_min_len()

Minimum length for the password strength check.

The default minimum length is 8.

The Openmaize.Password module provides a basic check and an advanced check, both of which use the password_min_len value. For more information about the advanced check, see the documentation for the Openmaize.Password module.

remember_salt()

Salt to be used when signing and verifying the remember me cookie.