-
-
Notifications
You must be signed in to change notification settings - Fork 757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ldap authentication #1077
Add ldap authentication #1077
Conversation
Our Pull Request Approval ProcessWe have these basic policies to make the approval process smoother for our volunteer team. Testing Your CodePlease make sure your code passes all tests. Our test code coverage system will fail if these conditions occur:
The process helps maintain the overall reliability of the code base and is a prerequisite for getting your PR approved. Assigned reviewers regularly review the PR queue and tend to focus on PRs that are passing. ReviewersWhen your PR has been assigned reviewers contact them to get your code reviewed and approved via:
Reviewing Your CodeYour reviewer(s) will have the following roles:
CONTRIBUTING.mdRead our CONTRIBUTING.md file. Most importantly:
Other
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #1077 +/- ##
===========================================
+ Coverage 91.85% 91.90% +0.05%
===========================================
Files 133 134 +1
Lines 3227 3248 +21
Branches 905 905
===========================================
+ Hits 2964 2985 +21
Misses 254 254
Partials 9 9 ☔ View full report in Codecov by Sentry. |
2023-11-20.21-08-14.mp4I have completed the ldap authentication. Please have a look. I am now working on test and error messages. |
This implementation looks good to me i will review it properly till you submit the tests @skbhagat0502 |
Typically the Administrator would select local authentication or LDAP as a system wide configuration. That way you wouldn’t need to have separate LDAP and regular buttons. So there needs to be a setting at the super admin level for this. The default would be local auth, with an LDAP option. If selected, the LDAP configuration parameters would be set on that screen. Documentation for this would need to be added to the CONFIGURATION.md file to at least know that the option exists. Please investigate how systems using optional LDAP authentication work to see the best approach you would like to propose. Consider a likely scenario. LDAP is enabled by the super administrator in the portal, but they don’t have an LDAP config. They are suddenly unable to administer anything. How would they recover? |
@palisadoes, I've been delving into the documentation, and it seems that there's a need for flexibility at the community level when it comes to authentication methods. In various communities, some super admins may opt for local authentication, while others prefer LDAP. To cater to this, it makes sense to display both authentication options on the website for community members, because we cannot create different instances of Talawa admin for each community and we cannot determine which authentication method to show when users open the website. For empowering super admins to choose the authentication method for their community, we can incorporate an option at the super admin level. We can give them access for creating a organizational unit and set up the admin credentials. Storing user emails or unique identifiers within each OU will serve as a bridge between MongoDB and the LDAP server, facilitating seamless communication. This approach not only aids in preventing the locking of administrative powers for super admins but also provides a standardized and more manageable solution. Super admins can reset passwords if needed, enhancing the overall user experience. Also we need to update the design of the login and register page. So that if a user chooses the option for ldap authentication they can choose there ou and then register and login themselves. One more thing it might be chanlenging for us to make it easy for database to communicate but I am trying to find a way. One suggestion is to have a unique identifier like email that will be used as a bridge for communication between the ldap server and the mongodb database. Also my thought is that we should manage this issue in chunks so that we can avoid any potential bugs. I'm also gearing up to update the documentation to reflect these enhancements. Additionally, I'm on the lookout for systems that effectively implement LDAP authentication as an alternative option for more insights and best practices. Finally my thought is that once it is merged we can work on adding the access for super admins to create ou's for there community and adding the option in the login and register page to choose a ou before login or register using ldap. |
Comments:
Questions:
|
Hey @palisadoes, I got a bunch of questions swirling in my mind that I'd love to clear up all before diving into implementation. GitHub conversations tend to stretch, so was thinking, could we chat on Slack channel of talawa admin? Would really appreciate 10 mins of your time for a quick discussion. I am messaging you right now on talawa admin channel. Once you are avilable then message me. We will have a disscussion. Hope you don't mind. |
@EshaanAgg @skbhagat0502 is having difficulties with this PR and the Husky prechecks. Can you provide some assistance? |
Hi @EshaanAgg I am getting error when I commit. This is due to husky pre-comit. I am gettting this error in talawa api as I need to edit some unauthorized files. How could I proceed because I am not able to push my code. |
Just add the --no-verify flag while committing and it will bypass the Husky validation. Then you can make the PR. |
Ok @EshaanAgg thanks. |
@skbhagat0502 Any update on this ? |
@noman2002 my college exams are going on so I am on a break. Once my exams are over I will surely get back to this. |
This pull request did not get any activity in the past 10 days and will be closed in 180 days if no update occurs. Please verify it has no conflicts with the develop branch and rebase if needed. Mention it now if you need help or give permission to other people to finish your work. |
Are you still working on this? |
Closing due to inactivity and other priorities |
What kind of change does this PR introduce?
A feature request.
Issue Number:
Fixes #1070
Did you add tests for your changes?
Yes
Snapshots/Videos:
If relevant, did you update the documentation?
Summary
Added the ldap authentication method.
Does this PR introduce a breaking change?
Other information
Have you read the contributing guide?