mirror of
https://github.com/lldap/lldap.git
synced 2026-04-25 08:15:52 +03:00
[GH-ISSUE #10] Administration interface #4
Labels
No labels
backend
blocked
bug
cleanup
dependencies
docker
documentation
duplicate
enhancement
enhancement
frontend
github_actions
good first issue
help wanted
help wanted
integration
invalid
ldap
pull-request
question
rust
rust
tests
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/lldap-lldap#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @nitnelave on GitHub (Jun 24, 2021).
Original GitHub issue: https://github.com/lldap/lldap/issues/10
All about user management.
If people want to help with this, it's fairly easy to add methods in the relevant handlers by copying similar ones. The places to add code:
model/src/lib.rsfor the request and response. Example:CreateUserRequest.src/domain/handler.rsand the correspondingsql_handler.rs. Example:list_userssrc/infra/tcp_api.rsand a handler, calling the method above. Example:user_list_handlerapp/src/api.rsto call the server, and a component to send the request and display the result. Example:app/src/user_table.rs(Note: specific files listed here are likely to move around a bit)
@nikhil96widhani commented on GitHub (Sep 22, 2021):
Can i create groups by passing environment variable for now or running a command. Is any way possible? i just need to create 2 groups
@nikhil96widhani commented on GitHub (Sep 22, 2021):
I could work on a Django Web app for this project if i can get documentation on how we can add data to the database. Any api or anything.
@nitnelave commented on GitHub (Sep 22, 2021):
If you need a quick hack around, editing the SQLite database is the easiest path forward. It has very few tables (users, groups, memberships) with straightforward definitions.
If you want to build a django web app, it will be a bit more involved: the API part is easy, it's GraphQL, with the schema described in
schema.graphql. However, logging in requires an OPAQUE client, I'm not sure what python has to go for that. Maybe https://github.com/GeorgeLyon/Opaque ? The parameters for OPAQUE (algorithms, hasher, rounds and so on) are found here: https://github.com/nitnelave/lldap/blob/main/auth/src/opaque.rs#L18-L55@nikhil96widhani commented on GitHub (Sep 23, 2021):
did some research about this and found out that Django supports password hashing by default to a user model. sqlite database is also supported by it but ldap functionality will need to be implemented with the framework.
@nitnelave commented on GitHub (Sep 24, 2021):
I'm not sure we're on the same page about the project's architecture. I invite you to reread the readme, but in a few words: the project has a backend listening on two ports, one for LDAP (works as an LDAP server, not client), and one for http. The port for http serves 3 things:
The web frontend is also written in Rust, compiled to WebAssembly.
If you want to write another frontend in addition to the one in development, you'll just have to talk to the authentication and GraphQL APIs. If you're talking to SQLite or do anything related to LDAP, then you're not doing the frontend but the backend. In that case, you don't need my project at all but you're reimplementing everything in python!
The fastest way forward is just to keep working on the existing Rust frontend. If you have web design skills, that is my weakest part so I welcome help in this domain :)
@nitnelave commented on GitHub (Sep 28, 2021):
All the GraphQL methods are in place, I just need to write the front-end components to list/create/delete/modify groups. Probably something quite similar to the users.
@nitnelave commented on GitHub (Oct 15, 2021):
Fixed with #53