Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

More routes with no authentication check

Open
#379 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
docker, python

Research direction

Start by reading #366, the listed handlers in backend/routes/course.py, user.py, assignment.py, regrade_request.py and submission.py, and the helpers in util/auth.py. Check each route's callers and what access rule fits; then add authentication tests for 401, 403 and success cases. Done means every listed route has an appropriate check and its tests pass.

Written by the indexing model from the issue text.

Description

While fixing #366 I scanned backend/routes/ for routes that never call require_authenticated, require_course_role, require_admin or one of the _verify_* helpers. These are left over. Each one needs a quick look to confirm it really has no check and to decide the right rule.

course.py

  • create_course: anyone can create a course and name any user as its instructor. The admin panel (pages/admin/courses/add.js) calls it.
  • enroll_course: takes user_id from the request body, so anyone with an entry code can enroll any user.
  • leave_course: takes user_id from the request body, so anyone can remove any student from any course.

user.py

  • get_user_by_email: returns a user's id, name, email and role to anyone. The instructor enrollment page calls it, so it probably needs a course staff rule rather than admin only.

assignment.py

  • get_assignment: returns full assignment details, including AI settings, to anyone with the id.
  • get_extension, get_assignment_extensions: anyone can read extensions.
  • /courses

regrade_request.py

  • send_regrade_request, get_student_regrade_requests, check_regrade_request, delete_regrade_request

submission.py

  • test_autograder_submission: runs code in Docker, so this one matters most.

Suggested approach: same as #366. Use the helpers in util/auth.py, run auth before input checks, and add unit tests for 401, 403 and the success case.

Dominant language
Python
Stars
13
Forks
0
Avg merge
2h 4m
Merged PRs (30d)
1

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from kiat/codeAssist

All issues in kiat/codeAssist

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.