{"id":23228079,"url":"https://github.com/arkitektio/lok-server","last_synced_at":"2025-04-05T18:21:01.616Z","repository":{"id":178886800,"uuid":"354063819","full_name":"arkitektio/lok-server","owner":"arkitektio","description":"authentication (Oauth2, OpenID Connect) and configuration service (Fakts) for the Arkitekt Platform","archived":false,"fork":false,"pushed_at":"2024-01-31T07:48:24.000Z","size":17771,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-11T15:40:58.570Z","etag":null,"topics":["arkitekt-service","authentication","authorization","fakts","herre","lok"],"latest_commit_sha":null,"homepage":"https://arkitekt.live","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arkitektio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-02T15:48:23.000Z","updated_at":"2024-01-30T08:43:36.000Z","dependencies_parsed_at":"2024-01-31T08:59:29.713Z","dependency_job_id":null,"html_url":"https://github.com/arkitektio/lok-server","commit_stats":null,"previous_names":["jhnnsrs/lok-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkitektio%2Flok-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkitektio%2Flok-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkitektio%2Flok-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkitektio%2Flok-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arkitektio","download_url":"https://codeload.github.com/arkitektio/lok-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247379004,"owners_count":20929445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arkitekt-service","authentication","authorization","fakts","herre","lok"],"created_at":"2024-12-19T01:11:47.107Z","updated_at":"2025-04-05T18:21:01.590Z","avatar_url":"https://github.com/arkitektio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lok\n\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/arkitektio/lok-server/)\n![Maintainer](https://img.shields.io/badge/maintainer-jhnnsrs-blue)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n\nLok is a central backend to manage and authorize User and Applications in a distributed\nsettings. Loks provides endpoints for apps to configure themselvers (through the Fakts protocol)\nand in a second step to authenticate and authorize users. For the latter it is build on top of [Oauth2](https://oauth.net/2/)\nand [OpenID Connect](https://openid.net/connect/). It then provides a central authentication and authorization\nservice for applications to register and authenticate users, and issues JWT token for accessing services.\n\nAs JWT are cryptographically signed, they can be verified by any service, and do not require\na central session store. \n\nThis distributed and scalable authentication and authorization system, was developed as the backbone for the\nArkitekt platform, but can be used as a standalone service for any application.\n\n## Features\n\n- [x] Application Registration (Authentication of apps based on various Flows)\n- [x] App Configuration (apps can retrieve their configuration from the server)\n- [x] User Authentication and Authorization\n- [x] User and Application Management\n- [x] Distibuted Authentication\n- [x] Social Features (Comments) \n- [x] User Profiles\n\nAll features are exposed through a GraphQL API, which can be used to interact with the system.\n\n\n## Next Features\n\nLok is currently undergoing a major rewrite, to make it more modular and easier to extend. This rewrite\nwill transition the system to a more modular architecture based on modern [Django](https://www.djangoproject.com/) and\nthe awesome [Strawberry GraphQL](https://strawberry.rocks/) library.\n\nAdditionally to the listed\nfeatures above, the following features are planned:\n\n- [ ] More diverse App Registration Flows (e.g. for Websites)\n- [ ] Social Login (Login with Orcid, Github, Google,... )\n- [ ] User Profiles with social account information\n- [ ] Notificaition Backend (with Mobile Push Notifications)\n- [ ] More Security Features (e.g. 2FA)\n\n\nWhile this rewrite is ongoing, the current version of Lok will remain the main repository for Lok, and the new version will be merged into this repository once the new version is ready for production. Development is happening in the [lok-server-next](https://gihtub.com/arkitektio/lok-server-next) repository.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkitektio%2Flok-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkitektio%2Flok-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkitektio%2Flok-server/lists"}