Core API (Carbon)
GitHub: https://github.com/adom-inc/carbon
Carbon is Adom's core REST API which stores most of the data associated with Adom's services. It's made in Rust with the Axum web framework.
This component of Adom's services is still in active development. Expect breaking changes at any time.
User Authentication
Users can authenticate using an email and password login. This sets a session cookie that can be used to authorize future requests.
In the future, API keys and OAuth2 bearer tokens will be supported to interact with the API from outside of Adom's services.
📄️ Users
Users are one of the fundamental models stored by Carbon. They represent an Adom user who has signed up for an account or has had an account made for them automatically by an organization.
📄️ Sessions
Whenever a user logs in, a session is created which identifies the authenticated user throughout the remainder of their usage of Adom's services on that device until the session expires. By default sessions last for 30 days.
📄️ Password Reset Requests
When a user requests to recover their account password, a password reset request is created and a link is sent to the user's email which contains a unique token identifying the request. Requests are valid for 15 minutes and will also be invalidated if consumed or a new request comes in before it is consumed.