Skip to content

Repository files navigation

SecRandom SecAgent Plugin

This is the SecRandom-side companion plugin for SecAgent. The released SecRandom 3.0 host ships no SecAgent integration of its own, so this plugin owns the local loopback API consumed by the SecRandom SecAgent connector:

  • GET/POST/DELETE http://127.0.0.1:3910/api/secagent/v1/students — read, upsert, and remove students on the current list
  • POST http://127.0.0.1:3910/api/secagent/v1/draw/students — draw students
  • best-effort installation/update of the secrandom connector in a running SecAgent

Draws are delegated to the host's IPluginDrawService facade, so they go through the host's course-linkage authorization, verification, and history pipeline exactly like built-in draws. The mode (flash/result_only) and count/gender (and group) arguments are supported; the tag/id/name filters of the older transport are not — the host draw API has no equivalent, so such requests are rejected with HTTP 400 instead of silently drawing from the wrong pool.

The plugin is packaged as srpx/SecRandom.SecAgentPlugin.srpx.

Build

The plugin binds against host-owned assemblies at runtime (SecRandom.Core, SecRandom.Shared, SecRandom.PluginSdk resolve from the host process), so it must be compiled against the exact host source it targets: SecRandom master 8f990fd3, the commit released as v3.0.0-alpha.2. The published SecRandom.PluginSdk 3.0.0-alpha.2 NuGet package is ABI-incompatible with that host and must not be used.

dotnet build -c Release -p:CreateSrpx=true -p:UseLocalPluginSdk=true -p:LocalSecRandomRoot=<path-to-SecRandom>

Copy the generated SRPX package into SecRandom's data/cache/plugin-packages directory and restart SecRandom.

About

Native SecRandom plugin for the SecAgent connector integration

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages