Skip to content

italia/openid-federation-browser

Repository files navigation

OpenID Federation Browser

Welcome to the OpenID Federation Browser project!

This tool is designed to facilitate the exploration of trust infrastructures based on OpenID Federation 1.0, providing a user-friendly interface for navigating Trust Chains and Entity Configurations.

Features

  • Entity Discovery: Easily discover and view OpenID Federation Entities and their configurations.
  • Trust Chain Visualization: Visualize the Trust Chains between entities, including Trust Anchors, Intermediates, and Leaves.
  • Graph View Save, Export and Import: Produce the representation of your network, save locally or export it. You can also import it in offline mode.
  • [TODO] Security Insights: Gain insights into the security aspects of the federation, including trust marks and compliance status.

Online Builds

The stable version of OpenID Federation Browser is usable online here

Snapshot build of the dev version is available here.

Please remember to bypass CORS restrictions using a web browser addon or proxy before using it. See here to learn how to do.

Installation

To install and run the OpenID Federation Browser, follow these steps documented in here.

Usage

  • Configure the Trust Anchor: Submit the https URL of the Trust Anchor to use and optionally its Federation Entity Keys in JWK format.
  • Browse Subordinates: inspect the Entities listed in the Federation Listing Endpoint and find Leaves and Intermediates.
  • Filter Subordinates: filter results using regexp on the entity IDs or Federation Listing url params filters.
  • Discover Entities: Submit a specific entity id to be resolved under the configured Trust Anchor.
  • Inspect Entity Statements: inspect Entity Configuration by clicking an Entity, Subordinate Statements by clicking the wire connecting an Entity with its Superior.
  • Export Trust Chains: By selecting a specific Entity, download the validated Trust Chain.
  • Security Checks: Inspect specific Trust Marks associated with each entity.

How to Contribute

We welcome contributions to the OpenID Federation Browser project! Here’s how you can get involved:

JSON Schema Updates

The project uses JSON schemas to inspect entities. If you want to contribute to the schema definitions, you can find the current schemas here:

Feel free to propose changes or improvements by opening a Pull Request (PR).

Localization

We support localization and you can help by adding or updating translations. To add Swedish localization, create a sv.json file based on the existing English localization file and submit it via a PR. Additionally, update the translations.ts file to include the new language.

Trust Anchor List

The trust anchor list is an important part of the OpenID Federation Browser distribution. If you have updates or additions to the trust anchor list, please update the trustChainList.json file and submit your changes via a PR.

General Contribution Guidelines

  1. Fork the Repository: Start by forking the repository to your GitHub account.
  2. Clone Your Fork: Clone your forked repository to your local machine.
  3. Create a Branch: Create a new branch for your feature or bug fix.
  4. Make Changes: Implement your changes in the codebase.
  5. Commit Your Changes: Make sure to write clear and concise commit messages.
  6. Push to GitHub: Push your changes to your forked repository.
  7. Open a Pull Request: Navigate to the original repository and open a pull request with a description of your changes.

We appreciate your contributions and look forward to collaborating with you!

Run Tests

To test the application start the development server using "npm run start" and in a separate shell run the following command:

npx cypress open

At this point select E2E testing and one of the installed browser as a platform. For the correct functioning it's necessary install a CORS Plugin (see here) and enabling it before the tests start.

Add your Federation in the Assets

Open a PR adding your favorite Trust Anchors here.

License

This project is licensed under the Apache2 License. See the LICENSE file for more details.

Contact

For questions or support, please open github issues or contact [email protected].

About

OpenID Federation 1.0 Web Exploration Tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •