The Ash Authentication framework
Find a file
James Harton 7b607896eb
improvement: Allow all token lifetimes to be specified with a time unit.
Now any DSL option which allows the configuring of a token lifetime
can take _either_ a positive integer in it's previous default unit
or a tuple containing a positive integer and a unit.

Closes #376.

Additionally includes switching the resettable entity to being a singleton since that
feature didn't exist when I started.
2023-09-22 12:15:47 +12:00
.devcontainer chore(devcontainer): store Dialyzer PLTs in a volume. 2022-12-16 11:49:39 +13:00
.github chore: Add extra checks in the CI pipeline. 2023-09-22 10:42:46 +12:00
.vscode feat: OpenID Connect Strategy (#197) 2023-05-04 13:15:24 +12:00
config docs: remove registries from docs and examples (#388) 2023-08-16 19:58:48 +12:00
dev docs: remove registries from docs and examples (#388) 2023-08-16 19:58:48 +12:00
documentation improvement: Allow all token lifetimes to be specified with a time unit. 2023-09-22 12:15:47 +12:00
lib improvement: Allow all token lifetimes to be specified with a time unit. 2023-09-22 12:15:47 +12:00
priv feat!: Configure accepted fields on register (#219) 2023-03-04 01:44:34 -05:00
test improvement: Allow all token lifetimes to be specified with a time unit. 2023-09-22 12:15:47 +12:00
.check.exs chore: Add extra checks in the CI pipeline. 2023-09-22 10:42:46 +12:00
.doctor.exs feat(PasswordReset): allow users to request and reset their password. (#22) 2022-11-02 18:18:20 +13:00
.formatter.exs feat: OpenID Connect Strategy (#197) 2023-05-04 13:15:24 +12:00
.gitignore chore: install and configure dialyxir. 2022-09-28 10:11:00 +13:00
.sobelow-conf chore: Add sobelow and mix_audit to CI. (#337) 2023-06-19 10:44:07 +12:00
.tool-versions chore: update to Erlang 26.1 and Elixir 1.15.6. 2023-09-22 10:42:46 +12:00
CHANGELOG.md chore: release version v3.11.12 2023-09-21 21:45:59 +00:00
LICENSE improvement!: Major redesign of DSL and code structure. (#35) 2022-11-23 09:09:41 +13:00
mix.exs improvement: Allow all token lifetimes to be specified with a time unit. 2023-09-22 12:15:47 +12:00
mix.lock chore(deps-dev): bump ash_postgres from 1.3.50 to 1.3.51 (#428) 2023-09-22 10:01:03 +12:00
README.md chore: release version v3.11.12 2023-09-21 21:45:59 +00:00

AshAuthentication

Ash Authentication Logo

Elixir CI License: MIT Hex version badge

AshAuthentication provides drop-in support for user authentication for users of the Ash framework. It is designed to be highly configurable, with sensible defaults covering the most common use-cases.

Warning

This is not beta software, but it is still relatively young, and authentication is a very critical flow in any application, that touches on many aspects of security. We highly encourage considering how you configure this package very carefully, and testing its behavior in your own application. Those tests will also help ensure that any custom behavior you implement by modifying your resources does not break your authentication flows. Even though we do our best to prevent that situation with compile time validations, its not always possible.

Installation

The package can be installed by adding ash_authentication to your list of dependencies in mix.exs:

def deps do
  [
    {:ash_authentication, "~> 3.11.12"}
  ]
end

Documentation

See the official documentation for more.

Additionally, documentation for the latest release will be available on hexdocs and for the main branch.

Contributing

  • To contribute updates, fixes or new features please fork and open a pull-request against main.
  • Please use conventional commits - this allows us to dynamically generate the changelog.
  • Feel free to ask any questions on out GitHub discussions page.

Licence

AshAuthentication is licensed under the terms of the MIT license. See the LICENSE file in this repository for details.