dbflux-rpc-auth-provider
Skill526 starsChanged 6 months agoApache-2.0View on GitHub
Create external DBFlux auth-provider services that speak the auth-provider RPC protocol. Trigger: When adding an RPC auth provider, external credential service, SSO plugin, OAuth plugin, or auth-provider service configured through Settings → RPC Services.
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- branch-prSkill
- dbflux-builtin-auth-providerSkill
- dbflux-builtin-driverSkill
- dbflux-releaseSkill
- dbflux-rpc-driverSkill
- issue-creationSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
Start from examples/custom_auth_provider/ unless the user already has service code.
- Very specific: line 29
If DBFlux launches the provider, it injects the auth-provider handshake token through the environment.
- Very specific: line 41
Use structured protocol errors such as InvalidRequest, VersionMismatch, Provider, or Internal.
- Very specific: line 45
Use RpcServiceKind::AuthProvider in the persisted service descriptor.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
When to Use
- The auth provider should live outside the DBFlux binary.
- The user mentions auth-provider RPC, external credential service, SSO plugin, or Settings → RPC Services.
- The provider should be registered with
RpcServiceKind::AuthProvider.
Source of Truth
docs/DRIVER_RPC_PROTOCOL.mdcrates/dbflux_ipc/src/auth_provider_protocol.rscrates/dbflux_ipc/src/auth_provider_client.rscrates/dbflux_app/src/rpc_services.rsexamples/custom_auth_provider/
Critical Patterns
- Start from
examples/custom_auth_provider/unless the user already has service code. - Auth-provider services never register as database drivers.
- Managed auth-provider services require an explicit
command; DBFlux does not assumedbflux-driver-host. - DBFlux probes compatible services on startup, so restart DBFlux after changing RPC service settings.
- If DBFlux launches the provider, it injects the auth-provider handshake token through the environment.
Protocol Checklist
- Bind the local socket using DBFlux IPC conventions.
- Handle
Helloand negotiate the highest compatible protocol version. - Return
provider_id,display_name,form_definition, and version-specific capabilities fromHello. - Implement
ValidateSession. - Implement
Login; emit zero or oneLoginUrlProgressbefore terminalLoginResult. - Implement
ResolveCredentials. - Return secret credential values as secret fields in the response type.
- Return
UnsupportedMethodfor unsupported requests. - Use structured protocol errors such as
InvalidRequest,VersionMismatch,Provider, orInternal.
Launch Facts
- Use
RpcServiceKind::AuthProviderin the persisted service descriptor. - Empty
commandand emptyargs: DBFlux expects an already-running provider service. - Explicit
command: DBFlux starts and owns the provider process. - Empty
commandwith non-emptyargsis invalid for auth providers.
Commands
cargo build
RUST_LOG=info cargo run -- --socket <socket-id>
python3 scripts/lint.py fmt --checkDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

