A Minecraft plugin that allows players to create signs that trigger ConductorOne access requests.
- Create signs with
[c1-req]on line 1 to request grant access to ConductorOne entitlements - Create signs with
[c1-drop]on line 1 to request revoke access to ConductorOne entitlements - Automatic detection of existing open tasks to prevent duplicate requests
- Clickable links to view access request tasks in ConductorOne
- OAuth2 client credentials authentication with automatic token refresh
- Permission-based sign creation and destruction
- All players can use signs (right-click) by default
- Valid signs display with blue text, invalid signs display with red text
- Build the plugin:
./gradlew build - Copy the JAR from
build/libs/sign-access-request-1.0.0-SNAPSHOT.jarto your server'spluginsfolder - Start your server to generate the default config
- Edit
plugins/SignAccessRequest/config.ymlwith your ConductorOne credentials - Restart your server
Edit plugins/SignAccessRequest/config.yml:
conductorone:
# The base URL for your ConductorOne instance
base-url: "https://your-tenant.conductor.one"
# OAuth2 Client Credentials
client-id: "your-client-id-here"
client-secret: "your-client-secret-here"
# API endpoints (usually don't need to change)
token-endpoint: "auth/v1/token"
grant-task-endpoint: "api/v1/task/grant"
revoke-task-endpoint: "api/v1/task/revoke"
# Debug Settings
debug:
# Enable debug logging for API requests and responses
enabled: false- Place a sign
- On line 1, type:
[c1-req] - On line 2, type the entitlement alias (e.g.,
prod-admin-access) - Lines 3 and 4 can contain any text you want (e.g., description)
- Place a sign
- On line 1, type:
[c1-drop] - On line 2, type the entitlement alias (e.g.,
prod-admin-access) - Lines 3 and 4 can contain any text you want (e.g., description)
If valid:
- Line 1 will turn blue
- The sign is now active
If invalid:
- Line 1 will turn red
- Check that line 2 has an entitlement alias
Right-click any valid C1 sign to submit a grant or revoke request for that entitlement.
When successful, you'll receive:
- A confirmation message
- A clickable link to view your task in ConductorOne
If you have existing open tasks:
- The plugin will detect them and show you clickable links to the existing tasks
- No duplicate task will be created
Valid signs (blue) require the signaccessrequest.destroy permission to break.
Invalid signs (red) can be broken by the creator or anyone with destroy permission.
| Command | Description | Permission |
|---|---|---|
/c1reload |
Reloads the plugin configuration without restarting the server | signaccessrequest.admin |
/c1debug [on|off] |
Enables or toggles debug mode for API requests | signaccessrequest.admin |
When debug mode is enabled, the plugin will log:
- All API requests (URL, method, body)
- All API responses (status code, body)
- Token requests (with masked tokens)
- Error responses
This is useful for troubleshooting authentication or API issues.
| Permission | Description | Default |
|---|---|---|
signaccessrequest.create |
Allows creating C1 access request signs | op |
signaccessrequest.destroy |
Allows destroying C1 access request signs | op |
signaccessrequest.use |
Allows using C1 access request signs | true (all players) |
signaccessrequest.admin |
Allows using admin commands (reload, debug) | op |
Requirements:
- Java 21 (Java 22+ not yet fully supported by Gradle 8.10)
- Gradle 8.10+
./gradlew buildThe plugin JAR will be in build/libs/.
- Paper 1.21.3+
- Java 21+
- Minecraft 1.21+