Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ilanusse/cerberus

A modular authentication solution for Crystal apps
https://github.com/ilanusse/cerberus

amber authentication cerberus crystal crystal-lang crystal-language

Last synced: 10 days ago
JSON representation

A modular authentication solution for Crystal apps

Awesome Lists containing this project

README

        

# Cerberus

A modular Crystal authentication solution inspired by [Devise](https://github.com/plataformatec/devise).

It is meant for use in [Amber](https://github.com/amberframework/amber) app, currently only using Granite.

## Installation

1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
cerberus:
github: ilanusse/cerberus
```
2. Run `shards install`

## Usage

```crystal
require "cerberus"
```

TODO: Write usage instructions here

## Roadmap
- [X] Implement generator based on Amber's Granite auth generator
- [ ] Implement `:database_authenticatable` -> UNDERWAY
- [ ] Implement `:validatable` -> UNDERWAY
- [ ] Implement `:registerable` -> UNDERWAY
- [ ] Implement `:recoverable`
- [ ] Implement `:confirmable`
- [ ] Extend generator for use with Amber & Crecto
- [ ] Extend generator for use with Lucky
- [ ] Extend generator for use with Amber & Jennifer
- [ ] Implement `:lockable`
- [ ] Implement `:timeoutable`

## Contributing

1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

## Contributors

- [ilanusse](https://github.com/ilanusse) - creator and maintainer

## Thanks
- [The Amber Team](https://github.com/amberframework/amber) for an awesome framework to play with
- @drujensen for [an example](https://github.com/drujensen/amber-auth-example) this was based on
- Plataformatec for [Devise](https://github.com/plataformatec/devise)