Getting Started with ShibbDebugger
Trademark Notice Shibboleth® is a registered trademark of Internet2®.
ShibbDebugger - a simple web interface for diagnosing Shibboleth and SAML configuration issues.
This guide explains how to select a command, submit the appropriate input, and interpret the results.
Requirements
You need:
- A modern web browser
- An internet connection
- Access to the relevant metadata or configuration file for file-based commands
- A metadata URL for remote retrieval
- Appropriate authorization to inspect the supplied configuration
No local installation of Shibboleth is required to use the web interface.
Step 1: Choose a Diagnostic Command
Open ShibbDebugger and locate the Choose a diagnostic command selector.
Commands are organized into three categories:
SP Tests
- Lint Configuration File
- Lint Attribute Map File
- Check XML Discovery
IdP Tests
- Grab Metadata from URL
- Parse Metadata File
- Check SAML Bindings
- Check NameID Formats
- Check Certificate Expiration
- Check XML Signature
Client Tests
- Check For Client Clock Skew
The command labels reflect the application's interface grouping.
Some metadata commands can also be useful for inspecting SP metadata when it has the XML structure expected by the command.
Step 2: Supply the Required Input
ShibbDebugger automatically enables the relevant input field.
| Command | Required Input |
|---|---|
| Lint Configuration File | SP configuration XML |
| Lint Attribute Map File | attribute-map.xml |
| Check XML Discovery | SP configuration XML |
| Grab Metadata from URL | Metadata URL or base URL |
| Parse Metadata File | SAML metadata XML |
| Check SAML Bindings | SAML metadata XML |
| Check NameID Formats | SAML metadata XML |
| Check Certificate Expiration | XML containing X.509 certificates |
| Check XML Signature | Signed XML document |
| Check For Client Clock Skew | None |
File-Based Commands
Select the XML file using Upload XML File.
The browser disables the URL field while a file-based command is selected.
URL-Based Commands
Enter the metadata URL into Metadata URL.
Example:
https://idp.example.org/The file upload field is disabled for URL-based commands.
No-Input Commands
Clock synchronization requires no uploaded file or URL.
Step 3: Execute the Command
Click Execute Command.
The interface integrates ZapCaptcha verification before normal form submission.
After submission, ShibbDebugger validates the selected command's required input and executes its corresponding server-side diagnostic.
Step 4: Review the Result
The application returns a diagnostic report through its results page.
Depending on the command, the report can contain:
- Successful checks
- Missing elements
- Warnings
- Extracted configuration values
- Certificate details
- Error messages
- Network lookup results
Example Output
Result of: ConfigLintCommand
General SP XML structure checks : ✓ valid
ApplicationDefaults : ✓ block found
Sessions : ✓ block found
SSO : ✓ block foundThis is a shortened illustrative example.
Understanding Status Indicators
The commands use several output indicators.
| Indicator | General Meaning |
|---|---|
| ✓ | Expected condition identified |
| ❌ | Missing condition, failure, or parsing error |
| ⚠️ | Warning or potentially unusual configuration |
| ERROR | Processing or validation failure |
These indicators reflect command-specific rules.
They do not establish overall SAML compliance or deployment security.
File Upload Limits
ShibbDebugger restricts request content length to 5 MiB.
Files larger than the configured limit may be rejected.
For large metadata aggregates, use a smaller individual entity file when appropriate.
Supported XML Inputs
Different commands expect different XML structures.
SAML Metadata
Common root:
<EntityDescriptor
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
entityID="https://idp.example.org/idp/shibboleth">
</EntityDescriptor>Shibboleth SP Configuration
Typically:
shibboleth2.xmlAttribute Map
Typically:
attribute-map.xmlThe exact filename alone does not determine validity. Each command inspects the XML content.
Input Errors
If a command is unknown or its required input is absent, ShibbDebugger returns an error.
Examples:
ERROR: Unknown command.ERROR: Invalid input or missing file/URL.Processing Considerations
File-based diagnostic operations are performed on the application server after upload.
URL-based retrieval causes the server to contact the specified endpoint.
External time services are contacted during clock synchronization.
Best Practices
- Use the command appropriate for the XML document.
- Confirm that the file is not truncated.
- Preserve original configuration files.
- Review warnings in the context of your deployment.
- Avoid uploading unnecessary confidential information.
- Verify changes in a staging environment before production.
Next Steps
Continue to SAML Metadata Retrieval and Parsing for details on working with identity provider metadata.
Updated about 8 hours ago
