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

github.com/OpenIdentityPlatform/OpenAM @16.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 16.1.1 ↗ · + Follow
90,458 symbols 392,036 edges 9,753 files 36,444 documented · 40%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenAM Logo

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

Open Access Management (OpenAM) is an access management solution that includes Authentication, SSO, Authorization, Federation, Entitlements, and Web Services Security.

Cross Domain Single Sign On (CDSSO), SAML 2.0, OAuth 2.0 & OpenID Connect ensure that OpenAM integrates easily with legacy, custom, and cloud applications without requiring any modifications. It's a developer-friendly, open-source control solution that allows you to own and protect your user's digital identities.

Key Features

Authentication Management

With OpenAM you can set up complex authentication processes using various authentication methods, such as login and password, OTP, saved cookie, QR authentication, and more... OpenAM also supports third-party identity providers using SAML, OAuth2, NTLM, and Kerberos protocols.

Access Management

Integrations with OpenIG or OpenAM Policy Agent allow you to set up flexible access policies to your resources. There could be role-based, authentication level-based, or attribute-based and, if you need flexible logic, you can script access policy.

Cross Domain Single Sign-On

After a single authentication, a user gets access to all resources protected by OpenAM. So, there is no need to authenticate at other services.

Federation

OpenAM supports OAuth2/OIDC and SAMLv2 Federation protocols, so OpenAM can act as both Identity and Service Provider.

Extensibility

If you have to extend OpenAM functionality, it is relatively easy to do. OpenAM pluggable architecture allows modification relatively easy. You can implement your custom authentication module, user data source, session data source, post-authentication process logic, and more...

License

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

Downloads

Download OpenAM Policy Agents:

How-to Build OpenAM from Source

To build OpenAM from source you should use JDK 11 or higher

For Windows users before clone and build run the following command:

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

How-to Run After the Build

Add FQDN host name in /etc/hosts (Windows c:\windows\systems32\drivers\etc\hosts) file:

127.0.0.1 login.domain.com

Run OpenAM from source:

mvn cargo:run -f OpenAM/openam-server

The next step is then to go to http://login.domain.com:8080/openam where you'll see the OpenAM welcome

Support

Thanks 🥰

  • Sun Access Manager/OpenSSO
  • Oracle OpenSSO
  • Forgerock OpenAM

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

DebugLog (Interface)
Abstracts over the debug logging framework used by the installer, to allow easier unit testing. Note: eventually this sh [24 …
openam-tools/openam-installtools/src/main/java/org/forgerock/openam/install/tools/logs/DebugLog.java
ContentConverter (Interface)
Interface for converting content when injecting it into the destination file. @since 12.0.0 [11 implementers]
openam-tools/build-helper-plugin/src/main/java/org/forgerock/maven/plugins/inject/content/ContentConverter.java
HasEntitiesTabs (Interface)
Implements this interface and entities sub tabs will be added to main tab accordingly. [6 implementers]
openam-console/src/main/java/com/sun/identity/console/realm/HasEntitiesTabs.java
SecurityToken (Interface)
This interface represents WS-Security token that can be inserted into or extracted from SOAP messages headers for Web Se [10 …
openam-federation/OpenFM/src/main/java/com/sun/identity/wss/security/SecurityToken.java
SAMLAuthenticator (Interface)
An Authenticator is an object used to provide authentication to the session. [36 implementers]
openam-federation/openam-federation-library/src/main/java/org/forgerock/openam/saml2/SAMLAuthenticator.java
AuthenticationHandler (Interface)
Defines the authentication interface which is the foundation for all sts token authentication actions. AuthenticationHan [35 …
openam-sts/openam-common-sts/src/main/java/org/forgerock/openam/sts/token/validator/AuthenticationHandler.java
TokenTypeId (Interface)
Provides an extensible means of identifying a to-be-validated or to-be-provided token type. The TokenType enum will impl [162 …
openam-sts/openam-client-sts/src/main/java/org/forgerock/openam/sts/TokenTypeId.java
SubjectProvider (Interface)
Defines the concerns of providing the Subject to be included in the generated SAML2 assertion. If no custom class name i [112 …
openam-sts/openam-token-service-sts/src/main/java/org/forgerock/openam/sts/tokengeneration/saml2/statements/SubjectProvider.java

Core symbols most depended-on inside this repo

append
called by 15456
openam-shared/src/main/java/org/forgerock/openam/shared/resourcename/BaseResourceName.java
message
called by 9786
openam-shared/src/main/java/com/sun/identity/shared/debug/IDebug.java
put
called by 8864
openam-tools/openam-installtools/src/main/java/com/sun/identity/install/tools/configurator/IStateAccess.java
getCurrentHandler
called by 6712
openam-schema/openam-liberty-schema/src/main/java/com/sun/identity/federation/jaxb/entityconfig/impl/runtime/UnmarshallingContext.java
consumeAttribute
called by 6643
openam-schema/openam-liberty-schema/src/main/java/com/sun/identity/federation/jaxb/entityconfig/impl/runtime/UnmarshallingContext.java
add
called by 6499
openam-core/src/main/java/com/sun/identity/entitlement/IPrivilegeManager.java
messageEnabled
called by 6310
openam-core/src/main/java/com/sun/identity/log/spi/IDebug.java
getAttribute
called by 6092
openam-schema/openam-liberty-schema/src/main/java/com/sun/identity/liberty/ws/common/jaxb/assertion/AttributeStatementType.java

Shape

Method 77,466
Class 8,991
Interface 2,003
Function 1,849
Enum 149

Languages

Java98%
TypeScript2%
C#1%
C++1%
C1%

Modules by API surface

openam-core/src/main/java/com/sun/identity/authentication/service/LoginState.java250 symbols
openam-schema/openam-wsfederation-schema/src/main/java/com/sun/identity/wsfederation/jaxb/wsspolicy/ObjectFactory.java135 symbols
openam-schema/openam-wsfederation-schema/src/main/java/com/sun/identity/wsfederation/jaxb/xmlsig/impl/X509DataTypeImpl.java124 symbols
openam-schema/openam-saml2-schema/src/main/java/com/sun/identity/saml2/jaxb/xmlsig/impl/X509DataTypeImpl.java124 symbols
openam-schema/openam-liberty-schema/src/main/java/com/sun/identity/liberty/ws/common/jaxb/xmlsig/impl/X509DataTypeImpl.java124 symbols
openam-upgrade/src/main/java/org/forgerock/openam/upgrade/UpgradeUtils.java117 symbols
openam-schema/openam-liberty-schema/src/main/java/com/sun/identity/liberty/ws/idpp/jaxb/ObjectFactory.java115 symbols
openam-core/src/main/java/com/sun/identity/authentication/client/AuthClientUtils.java112 symbols
openam-schema/openam-liberty-schema/src/main/java/com/sun/identity/liberty/ws/common/jaxb/ac/ObjectFactory.java108 symbols
openam-core/src/main/java/com/iplanet/services/ldap/aci/ACI.java107 symbols
openam-federation/openam-federation-library/src/main/java/com/sun/identity/saml2/common/SAML2Utils.java105 symbols
openam-federation/OpenFM/src/main/java/com/sun/identity/wss/provider/ProviderConfig.java100 symbols

Datastores touched

(mysql)Database · 1 repos
seantestdb1Database · 1 repos
openssousersdbDatabase · 1 repos

For agents

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

⬇ download graph artifact