35 lines
1.7 KiB
Plaintext
35 lines
1.7 KiB
Plaintext
[#auth-concepts]
|
|
= Security Concepts
|
|
|
|
OliveTin implements a security model that covers **Authentication**, **Authorization** (via xref:security/acl.adoc[ACLs]) and **Accounting**.
|
|
|
|
== Authentication
|
|
|
|
To allow users to be Authenticated to OliveTin, there are several options to choose from;
|
|
|
|
- xref:security/local.adoc[Local Users] (ie: Login with Username and Password)
|
|
- xref:security/oauth2.adoc[OAuth2] (eg: Google, GitHub, etc)
|
|
- xref:security/trusted_header.adoc[Trusted Header] (eg: Nginx, Apache, etc)
|
|
- xref:security/jwt.adoc[JWT] (eg: Traefik, Organizr, etc)
|
|
|
|
== Authorization
|
|
|
|
OliveTin's authorization system, or permissions, is built on xref:security/acl.adoc[Access Control Lists]. This is a powerful mechanism that allows you to implement very fine grained access control, or your own role based access control (RBAC).
|
|
|
|
== Accounting
|
|
|
|
OliveTin's accounting is via it's logs. This aspect of OliveTin's security model is poorly documented at the moment.
|
|
|
|
== What's Next?
|
|
|
|
Now that you understand OliveTin's security model, implement it for your use case:
|
|
|
|
* xref:security/local.adoc[Set up local users] - Configure username/password authentication
|
|
* xref:security/oauth2.adoc[Configure OAuth2] - Integrate with OAuth2 providers (Google, GitHub, etc.)
|
|
* xref:security/trusted_header.adoc[Use trusted headers] - Authenticate via reverse proxy headers
|
|
* xref:security/jwt.adoc[Configure JWT] - Use JWT tokens for authentication
|
|
* xref:security/acl.adoc[Set up Access Control Lists] - Implement fine-grained permissions
|
|
* xref:security/examples.adoc[View security examples] - See complete security configurations
|
|
* xref:security/design_choices.adoc[Security design recommendations] - Learn best practices for securing OliveTin
|
|
|