Giter Site home page Giter Site logo

Administration interface about lldap HOT 7 CLOSED

lldap avatar lldap commented on May 14, 2024
Administration interface

from lldap.

Comments (7)

nikhil96widhani avatar nikhil96widhani commented on May 14, 2024

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

from lldap.

nikhil96widhani avatar nikhil96widhani commented on May 14, 2024

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.

from lldap.

nitnelave avatar nitnelave commented on May 14, 2024

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

from lldap.

nikhil96widhani avatar nikhil96widhani commented on May 14, 2024

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.

from lldap.

nitnelave avatar nitnelave commented on May 14, 2024

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 authentication API that returns the JWT necessary for taking to the GraphQL API. Note that it's more than just password hashing: the client never send the password to the server, but proves that it knows the right password.
  • the GraphQL API that implements the backend functions needed for the web frontend
  • the static files for the web frontend.
    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 :)

from lldap.

nitnelave avatar nitnelave commented on May 14, 2024

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.

from lldap.

nitnelave avatar nitnelave commented on May 14, 2024

Fixed with #53

from lldap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.