User authentication in Flitter is provided by the [flitter-auth package](https://git.garrettmills.dev/flitter/auth).
User authentication in Flitter is provided by the [flitter-auth package](https://code.garrettmills.dev/flitter/auth).
flitter-auth provides a framework for provider-agnostic, role-permission user authentication for your application. It includes an Auth Provider API to allow custom login sources that use the same User model so your app can work seamlessly. flitter-auth ships with Flitter by default, so to get started, just run the `./flitter deploy auth` command.
@ -27,7 +27,7 @@ Likewise, to register with the default provider:
`/auth/register`
## Using the User Model
You may notice that the flitter-auth user model looks a bit different from other Flitter models. That's because it inherits a base set of methods and fields from the default [flitter-auth user model](https://git.garrettmills.dev/flitter/auth/src/branch/master/model/User.js). (See: {@link module:flitter-auth/model/User~BaseUser})
You may notice that the flitter-auth user model looks a bit different from other Flitter models. That's because it inherits a base set of methods and fields from the default [flitter-auth user model](https://code.garrettmills.dev/flitter/auth/src/branch/master/model/User.js). (See: {@link module:flitter-auth/model/User~BaseUser})
You can add any custom properties/methods you like to `app/models/auth/User.model.js`, but it should always have the base ones provided. App users are stored in a particular way with flitter-auth. Each user is assigned a universally-unique ID when they register/login for the first time. This uuid is what you should use in internal logic to access/refer to specific User instances. Why? Because of this important takeaway:
Flitter runs on Node.js and is developed over on [my Git server](https://git.garrettmills.dev/flitter). Flitter and its sub-components developed by Garrett Mills are licensed under the highly permissive MIT License. In not so many words, this means that you can do basically whatever you want with the Flitter code as long as you absolve me from liability and warranty. [Check out the full license here though.](https://choosealicense.com/licenses/mit/) The master branch always contains a working version of Flitter, so getting started is as easy as cloning the main Flitter repository, installing the Node.js packages, and copying over the default configuration.
Flitter runs on Node.js and is developed over on [my Git server](https://code.garrettmills.dev/flitter). Flitter and its sub-components developed by Garrett Mills are licensed under the highly permissive MIT License. In not so many words, this means that you can do basically whatever you want with the Flitter code as long as you absolve me from liability and warranty. [Check out the full license here though.](https://choosealicense.com/licenses/mit/) The master branch always contains a working version of Flitter, so getting started is as easy as cloning the main Flitter repository, installing the Node.js packages, and copying over the default configuration.
#### 0. System Requirements
Flitter requires:
@ -10,10 +10,10 @@ Flitter requires:
- A MongoDB database instance. You can install it locally [like this.](https://www.mongodb.com/download-center/community)
#### 1. Clone the Repository
First, pull down a copy of Flitter into a new folder for your project. You can download a zip of the repository [here](https://git.garrettmills.dev/flitter/flitter/archive/master.zip), but the easiest way is to use [Git](https://git-scm.com/):
First, pull down a copy of Flitter into a new folder for your project. You can download a zip of the repository [here](https://code.garrettmills.dev/flitter/flitter/archive/master.zip), but the easiest way is to use [Git](https://git-scm.com/):
By default, Flitter ships with the [flitter-cli](https://git.garrettmills.dev/flitter/cli) package, which enables use of the `./flitter` command. This command is designed to aid development on Flitter. This command should only be run from the root of the application, as it depends on relative paths.
By default, Flitter ships with the [flitter-cli](https://code.garrettmills.dev/flitter/cli) package, which enables use of the `./flitter` command. This command is designed to aid development on Flitter. This command should only be run from the root of the application, as it depends on relative paths.
#### Run a Deployment
@ -7,7 +7,7 @@ By default, Flitter ships with the [flitter-cli](https://git.garrettmills.dev/fl
./flitter deploy <deploymentname>
```
Flitter units can define special functions called deployments. These deployments are designed to be one-time, non-reversible functions that set up the unit's necessary files and configuration, etc. For example, the [flitter-auth](https://git.garrettmills.dev/flitter/auth) package provides the `auth` deployment which creates the controllers, models, views, and middleware to enable Flitter's auth provider.
Flitter units can define special functions called deployments. These deployments are designed to be one-time, non-reversible functions that set up the unit's necessary files and configuration, etc. For example, the [flitter-auth](https://code.garrettmills.dev/flitter/auth) package provides the `auth` deployment which creates the controllers, models, views, and middleware to enable Flitter's auth provider.
#### Create a New File From a Template
@ -15,7 +15,7 @@ Flitter units can define special functions called deployments. These deployments
./flitter new <templatename><filename>
```
Flitter units can also define templates for files that are used regularly in Flitter. For example, [libflitter](https://git.garrettmills.dev/flitter/libflitter) provides several templates like the `controller`, `model`, `config`, and `router` templates, which create the respective `<file name>` in the base directory corresponding to the type of file you are generating.
Flitter units can also define templates for files that are used regularly in Flitter. For example, [libflitter](https://code.garrettmills.dev/flitter/libflitter) provides several templates like the `controller`, `model`, `config`, and `router` templates, which create the respective `<file name>` in the base directory corresponding to the type of file you are generating.
@ -4,7 +4,7 @@ When errors occur in Flitter, be they code or user, they should be handled and p
### Bug Reports & Security Issues
Found a bug in Flitter? Please let me know! I'll try to get them fixed as soon as possible. You can file general bug reports as issues in the respective [Gitea repositories here](https://git.garrettmills.dev/flitter/). If you're not sure which package to file your report under, just put it in the [main Flitter repository](https://git.garrettmills.dev/flitter/flitter). Flitter is [libre](https://www.gnu.org/philosophy/floss-and-foss.en.html), so any contributions are welcome!
Found a bug in Flitter? Please let me know! I'll try to get them fixed as soon as possible. You can file general bug reports as issues in the respective [Gitea repositories here](https://code.garrettmills.dev/flitter/). If you're not sure which package to file your report under, just put it in the [main Flitter repository](https://code.garrettmills.dev/flitter/flitter). Flitter is [libre](https://www.gnu.org/philosophy/floss-and-foss.en.html), so any contributions are welcome!
Security bugs should be reported to [security@glmdev.tech](mailto:security@glmdev.tech).