MCPcopy Index your code
hub / github.com/OpenIdentityPlatform/OpenIG

github.com/OpenIdentityPlatform/OpenIG @6.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 6.1.1 ↗ · + Follow
3,982 symbols 16,524 edges 529 files 842 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenIG Logo

Latest release Build Deploy Issues Last commit License Downloads Docker Top language Code size in bytes

The Open Identity Gateway (OpenIG) is a high-performance reverse proxy server with specialized session management and credential replay functionality.

OpenIG is an independent policy enforcement point that reduces the proliferation of passwords and ensures consistent, secure access across multiple web apps and APIs. OpenIG can leverage any standards-compliant identity provider to integrate into your current architecture. Single sign-on and sign-off improves the user experience and will vastly improve adoption rates and consumption of services provided. * Extend SSO to any Application * Federate Enabling Applications * Implement Standards Based Policy Enforcement

How it Works

OpenIG is essentially a Java-based reverse proxy which runs as a web application. All HTTP traffic to each protected application is routed through OpenIG, enabling close inspection, transformation and filtering of each request. You can create new filters and handlers to modify the HTTP requests on their way through OpenIG, providing the ability to recognize login pages, submit login forms, transform or filter content, and even function as a Federation endpoint for the application. All these features are possible without making any changes to the application's deployment container or the application itself.

OpenIG works together with OpenAM to integrate Web applications without the need to modify the target application or the container that it runs in.

  • Support for identity standards (OAuth 2.0, OpenID Connect, SAML 2.0)
  • Rate Limiting and Throttling
  • ICAP Antivirus/DLP protection
  • Application and API gateway concept
  • Prepackaged SAML 2.0-based federation
  • Password capture and replay
  • Works with any identity provider, including OpenAM
  • Single Sign-On and Single Log-Out
  • 100% open source

License

This project is licensed under the Common Development and Distribution License (CDDL).

Downloads

Java 11 or later required

How-to build

For windows use:

git config --system core.longpaths true
git clone --recursive  https://github.com/OpenIdentityPlatform/OpenIG.git
mvn install -f OpenIG

How-to run after build

mvn -f OpenIG/openig-war clean package cargo:run

The next step is then to go to http://localhost:8080 where you'll see the OpenIG welcome page.

Support

Thanks 🥰

  • Forgerock OpenIG

Contributing

Please, make Pull request

Backers

Thank you to all our backers! Become a backer 🙏

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor ❤️

Extension points exported contracts — how you extend this code

Color (Interface)
This interface is used by the LoaderTest class. [15 implementers]
openig-core/src/test/java/org/forgerock/openig/util/Color.java
InjectionDetector (Interface)
Strategy interface for prompt-injection detection. Implementations must be thread-safe : a single de [4 implementers]
openig-ai/src/main/java/org/openidentityplatform/openig/ai/filter/InjectionDetector.java
ThrottlingPolicy (Interface)
(no doc) [9 implementers]
contrib-http-framework/src/main/java/org/forgerock/http/filter/throttling/ThrottlingPolicy.java
Decorator (Interface)
A Decorator is responsible for decorating existing object's instances. A Decorator cannot change the base type of th [17 …
openig-core/src/main/java/org/forgerock/openig/decoration/Decorator.java
ThrottlingStrategy (Interface)
This interface defines the contract for any throttling strategy. [2 implementers]
contrib-http-framework/src/main/java/org/forgerock/http/filter/throttling/ThrottlingStrategy.java
Heaplet (Interface)
Creates and initializes an object that is stored in a Heap. A heaplet can retrieve object(s) it depends on from [17 implementers]
openig-core/src/main/java/org/forgerock/openig/heap/Heaplet.java
TimeServiceListener (Interface)
(no doc)
contrib-http-framework/src/test/java/org/forgerock/http/filter/throttling/FakeTimeService.java
HeapletFactory (Interface)
Builds Heaplet instances. A HeapletFactory can manage multiple Heaplet types. [12 implementers]
openig-core/src/main/java/org/forgerock/openig/heap/HeapletFactory.java

Core symbols most depended-on inside this repo

get
called by 1171
openig-core/src/main/java/org/forgerock/openig/heap/Heap.java
put
called by 462
openig-core/src/main/java/org/forgerock/openig/resolver/Resolver.java
getHeaders
called by 250
openig-core/src/main/java/org/forgerock/openig/filter/CryptoHeaderFilter.java
asString
called by 226
openig-core/src/main/java/org/forgerock/openig/util/StringUtil.java
valueOf
called by 198
openig-core/src/main/java/org/forgerock/openig/el/Expression.java
getStatus
called by 195
openig-ui/src/main/js/org/forgerock/openig/ui/admin/routes/parts/Overview.js
toString
called by 153
openig-core/src/main/java/org/forgerock/openig/resolver/Resolver.java
add
called by 152
openig-core/src/main/java/org/forgerock/openig/ldap/LdapConnection.java

Shape

Method 3,212
Class 593
Function 146
Interface 19
Enum 12

Languages

Java92%
TypeScript8%

Modules by API surface

openig-oauth2/src/test/java/org/forgerock/openig/filter/oauth2/client/OAuth2ClientFilterTest.java54 symbols
openig-core/src/test/java/org/forgerock/openig/filter/GroovyScriptableFilterTest.java48 symbols
openig-core/src/test/java/org/forgerock/openig/el/ExpressionTest.java46 symbols
openig-oauth2/src/main/java/org/forgerock/openig/filter/oauth2/client/OAuth2ClientFilter.java45 symbols
openig-core/src/test/java/org/forgerock/openig/filter/PasswordReplayFilterHeapletTest.java42 symbols
openig-openam/src/test/java/org/forgerock/openig/openam/PolicyEnforcementFilterTest.java41 symbols
openig-core/src/test/java/org/forgerock/openig/el/FunctionsTest.java39 symbols
openig-core/src/test/java/org/forgerock/openig/heap/HeapImplTest.java38 symbols
openig-core/src/test/java/org/forgerock/openig/handler/router/RouterHandlerTest.java34 symbols
openig-core/src/test/java/org/forgerock/openig/handler/router/RouteBuilderTest.java34 symbols
openig-openam/src/main/java/org/forgerock/openig/openam/PolicyEnforcementFilter.java31 symbols
openig-core/src/test/java/org/forgerock/openig/util/JsonValuesTest.java30 symbols

Datastores touched

(mysql)Database · 1 repos
databasenameDatabase · 1 repos

For agents

$ claude mcp add OpenIG \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact