[PR #8493] [MERGED] docs: add better-auth-usos plugin #16260

Closed
opened 2026-04-13 10:28:19 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/8493
Author: @qamarq
Created: 3/8/2026
Status: Merged
Merged: 3/9/2026
Merged by: @himself65

Base: canaryHead: feat/plugin-better-auth-usos


📝 Commits (3)

  • a239f1a feat: add better-auth-usos plugin
  • 5481dbd chore: format code
  • 7f6c979 chore: add qamarq to names

📊 Changes

3 files changed (+23 additions, -0 deletions)

View changed files

📝 .cspell/names.txt (+1 -0)
📝 landing/components/community-plugins-table.tsx (+11 -0)
📝 landing/lib/community-plugins-data.ts (+11 -0)

📄 Description

Add USOS OAuth 1.0a Plugin to Community Plugins

Description
This PR adds better-auth-usos to the community plugins list - a production-ready OAuth 1.0a authentication plugin for USOS (University Study-Oriented System).
What is USOS?
USOS is a comprehensive academic management system used by universities across Poland and other countries. It handles student records, course registration, grades, schedules, and more. Major institutions include:

  • Wrocław University of Science and Technology (PWR)
  • University of Warsaw (UW)
  • Warsaw University of Technology (PW)
  • AGH University of Science and Technology
  • Jagiellonian University

Why this plugin?
USOS uses OAuth 1.0a (not 2.0), which requires custom implementation with HMAC-SHA1 signatures. This plugin provides:
Full OAuth 1.0a flow implementation
Configurable custom user fields via userFields callback
Type-safe client integration with authClient.signIn.usos()
Automatic user creation and profile updates
Works with any USOS instance (configurable base URL)
Full TypeScript support with generics
Production-tested and actively maintained

Links

Example Usage

usosAuth({
  usosBaseUrl: process.env.USOS_BASE_URL,
  consumerKey: process.env.USOS_CONSUMER_KEY,
  consumerSecret: process.env.USOS_CONSUMER_SECRET,
  emailDomain: "student.pwr.edu.pl",
  userFields: (usosProfile) => ({
    studentNumber: usosProfile.student_number,
    usosId: usosProfile.id,
  }),
})

// Client
await authClient.signIn.usos();

Community Impact
This plugin enables thousands of students and staff at Polish universities to authenticate using their institutional USOS accounts, bringing Better Auth to the academic sector in Poland and beyond.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/8493 **Author:** [@qamarq](https://github.com/qamarq) **Created:** 3/8/2026 **Status:** ✅ Merged **Merged:** 3/9/2026 **Merged by:** [@himself65](https://github.com/himself65) **Base:** `canary` ← **Head:** `feat/plugin-better-auth-usos` --- ### 📝 Commits (3) - [`a239f1a`](https://github.com/better-auth/better-auth/commit/a239f1a532763720503557d83aa916c2be5f2802) feat: add better-auth-usos plugin - [`5481dbd`](https://github.com/better-auth/better-auth/commit/5481dbdafc861083483758971dbc05f884d385f6) chore: format code - [`7f6c979`](https://github.com/better-auth/better-auth/commit/7f6c9796bf574fa636a876aef8d0e885d9762c9a) chore: add qamarq to names ### 📊 Changes **3 files changed** (+23 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `.cspell/names.txt` (+1 -0) 📝 `landing/components/community-plugins-table.tsx` (+11 -0) 📝 `landing/lib/community-plugins-data.ts` (+11 -0) </details> ### 📄 Description # Add USOS OAuth 1.0a Plugin to Community Plugins **Description** This PR adds better-auth-usos to the community plugins list - a production-ready OAuth 1.0a authentication plugin for USOS (University Study-Oriented System). What is USOS? USOS is a comprehensive academic management system used by universities across Poland and other countries. It handles student records, course registration, grades, schedules, and more. Major institutions include: - Wrocław University of Science and Technology (PWR) - University of Warsaw (UW) - Warsaw University of Technology (PW) - AGH University of Science and Technology - Jagiellonian University **Why this plugin?** USOS uses OAuth 1.0a (not 2.0), which requires custom implementation with HMAC-SHA1 signatures. This plugin provides: ✅ Full OAuth 1.0a flow implementation ✅ Configurable custom user fields via userFields callback ✅ Type-safe client integration with authClient.signIn.usos() ✅ Automatic user creation and profile updates ✅ Works with any USOS instance (configurable base URL) ✅ Full TypeScript support with generics ✅ Production-tested and actively maintained **Links** - npm: https://www.npmjs.com/package/better-auth-usos - GitHub: https://github.com/qamarq/better-auth-usos - Documentation: Full setup guide in README **Example Usage** ```// Server usosAuth({ usosBaseUrl: process.env.USOS_BASE_URL, consumerKey: process.env.USOS_CONSUMER_KEY, consumerSecret: process.env.USOS_CONSUMER_SECRET, emailDomain: "student.pwr.edu.pl", userFields: (usosProfile) => ({ studentNumber: usosProfile.student_number, usosId: usosProfile.id, }), }) // Client await authClient.signIn.usos(); ``` **Community Impact** This plugin enables thousands of students and staff at Polish universities to authenticate using their institutional USOS accounts, bringing Better Auth to the academic sector in Poland and beyond. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-13 10:28:19 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#16260