![Logo](https://github.com/ash-project/ash/blob/main/logos/cropped-for-header-black-text.png?raw=true#gh-light-mode-only)
![Logo](https://github.com/ash-project/ash/blob/main/logos/cropped-for-header-white-text.png?raw=true#gh-dark-mode-only)
![Elixir CI](https://github.com/team-alembic/ash_authentication/workflows/Elixir%20Library/badge.svg)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Hex version badge](https://img.shields.io/hexpm/v/ash_authentication.svg)](https://hex.pm/packages/ash_authentication)
[![Hexdocs badge](https://img.shields.io/badge/docs-hexdocs-purple)](https://hexdocs.pm/ash_authentication)
# Ash Authentication
Welcome! Here you will find everything you need to know to get started with and use Ash Authentication. This documentation is best viewed on [hexdocs](https://hexdocs.pm/ash_authentication).
## About the Documentation
[**Tutorials**](#tutorials) walk you through a series of steps to accomplish a goal. These are **learning-oriented**, and are a great place for beginners to start.
---
[**Topics**](#topics) provide a high level overview of a specific concept or feature. These are **understanding-oriented**, and are perfect for discovering design patterns, features, and tools related to a given topic.
---
[**Reference**](#reference) documentation is produced automatically from our source code. It comes in the form of module documentation and DSL documentation. This documentation is **information-oriented**. Use the sidebar and the search bar to find relevant reference information.
## Tutorials
- [Get Started](documentation/tutorials/get-started.md)
---
## Topics
- [Custom Strategies](documentation/topics/custom-strategy.md)
- [Policies on Authenticated Resources](documentation/topics/policies-on-authentication-resources.md)
- [Testing](documentation/topics/testing.md)
- [Tokens](documentation/topics/tokens.md)
- [Upgrade guides](documentation/topics/upgrading.md)
---
## Tutorials
- [Authenticate with Auth0](documentation/tutorials/auth0.md)
- [Authenticate with GitHub](documentation/tutorials/github.md)
- [Authenticate with Google](documentation/tutorials/google.md)
- [Authenticate with Magic Links](documentation/tutorials/magic-links.md)
- [Confirmation](documentation/tutorials/confirmation.md)
---
## Reference
- [AshAuthentication DSL](documentation/dsls/DSL-AshAuthentication.md)
- [AshAuthentication.AddOn.Confirmation DSL](documentation/dsls/DSL-AshAuthentication.AddOn.Confirmation.md)
- [AshAuthentication.Strategy.Auth0](documentation/dsls/DSL-AshAuthentication.Strategy.Auth0.md)
- [AshAuthentication.Strategy.Github DSL](documentation/dsls/DSL-AshAuthentication.Strategy.Github.md)
- [AshAuthentication.Strategy.Google DSL](documentation/dsls/DSL-AshAuthentication.Strategy.Google.md)
- [AshAuthentication.Strategy.MagicLink DSL](documentation/dsls/DSL-AshAuthentication.Strategy.MagicLink.md)
- [AshAuthentication.Strategy.OAuth2 DSL](documentation/dsls/DSL-AshAuthentication.Strategy.OAuth2.md)
- [AshAuthentication.Strategy.Oidc DSL](documentation/dsls/DSL-AshAuthentication.Strategy.Oidc.md)
- [AshAuthentication.Strategy.Password DSL](documentation/dsls/DSL-AshAuthentication.Strategy.Password.md)
- [AshAuthentication.TokenResource DSL](documentation/dsls/DSL-AshAuthentication.TokenResource.md)
- [AshAuthentication.UserIdentity DSL](documentation/dsls/DSL-AshAuthentication.UserIdentity.md)
- For other reference documentation, see the sidebar & search bar
## Related packages
- [Ash Framework](https://hexdocs.pm/ash)
- [Ash Authentication Phoenix](https://hexdocs.pm/ash_authentication_phoenix) | Integrates Ash Authentication into your Phoenix application
---
[![Alembic](logos/alembic.png)](https://alembic.com.au)
Proudly written and maintained by the team at [Alembic](https://alembic.com.au) for the Ash community.