Lok is a central backend to manage and authorize User and Applications in a distributed settings. Loks provides endpoints for apps to configure themselvers (through the Fakts protocol) and in a second step to authenticate and authorize users. For the latter it is build on top of Oauth2 and OpenID Connect. It then provides a central authentication and authorization service for applications to register and authenticate users, and issues JWT token for accessing services.
As JWT are cryptographically signed, they can be verified by any service, and do not require a central session store.
This distributed and scalable authentication and authorization system, was developed as the backbone for the Arkitekt platform, but can be used as a standalone service for any application.
Note
What you are currently lo(o)king at is the next version of Lok. It is currently under development and not ready for production. If you are looking for the current version of Lok, you can find it here.
Check out the documentation for more information.
This is the current roadmap for the merging of the new version of Lok into the main repository:
- Application Registration (Authentication of apps based on various Flows)
- App Configuration (apps can retrieve their configuration from the server)
- User Authentication and Authorization
- User and Application Management
- Distibuted Authentication
- Social Features (Comments)
- User Profiles
- More diverse App Registration Flows (e.g. for Websites)
- Social Login (Login with Orcid, Github, Google,... )
- User Profiles with social account information
- Notificaition Backend (with Mobile Push Notifications) (channels)
- More Security Features (e.g. 2FA)
- CI/CD Pipeline (testing against both old and new apps)
- Documentation