Skip to content

Integrate PUSD API for Account Verification with Teacher Role & Extra Verification Step #22

@Flying-Book

Description

@Flying-Book

Overview

To ensure secure and accurate verification of PUSD users, we will integrate the PUSD API for validating both students and teachers. Additionally, teachers will have an extra verification step before they receive elevated access. This involves:

  • Creating a new database column to track teacher status
  • Creating new database column for school status
  • Update current sign-up pages to include school as part of signup process
  • Implementing API-based verification during signup/login
  • Requiring admin approval for teachers after API verification
  • Creating a page for admin approval on the kasm ui

Goals

  • Verify PUSD Google accounts (students and teachers) via the PUSD API
  • Distinguish teachers by a dedicated database column (is_teacher)
  • Add an extra verification and approval step for teachers before granting full access
  • Secure KASM resources by restricting unauthorized access

Tasks

1. Database Schema Updates

  • Add a new boolean column is_teacher (default: false) to the users table
  • Add a new boolean column for school name
  • Add a verification status column (e.g., is_verified) if not already present

2. PUSD API Integration/ UI Update

  • During signup/login, query the PUSD API to verify if the user is an active student or teacher
  • Add school name to sign_up UIs
  • Based on API response, set is_verified = true for valid users
  • Create a request button if verify fails to admin, so that admin can create accounts for transfer students, add test accounts, etc.

3. Teacher Extra Verification Flow

  • If user is identified as a teacher by the API (check api capabilities, if not may have to do this manually), set is_teacher = true but require admin approval before granting teacher privileges
  • Notify admins of new teacher verification requests
  • Create a teacher request button on profile setting to send request to admin
  • Provide an admin interface to approve or reject teacher status
  • Once approved, update teacher’s access permissions accordingly

4. Access Control Enforcement

  • Ensure that only users with is_verified = true can access KASM resources
  • Only allow users with is_teacher = true and admin approval to access teacher-only features

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions