User Authentication Authorization (UAA) is a library for handling the security aspects of your application. It can be used as a standalone library or within a Spring Boot application.
This repository contains:
- Frontend authentication client package for JavaScript/TypeScript applications
- Spring Boot extension for authentication principal integration
- Example applications under
devapps/for local development and testing
Refer to https://geta12.com/#/docs to get started with A12 development
Parts of the A12 platform are made available under a dual license.
Please check the LICENSE file for details.
For the client, install the latest npm package with:
npm install @com.mgmtp.a12.uaa/uaa-authentication-clientFor the server:
Gradle:
dependencies {
implementation 'com.mgmtp.a12.uaa:uaa-authentication-principal-extension-spring-boot-autoconfigure:<version>'
}Maven:
<dependency>
<groupId>com.mgmtp.a12.uaa</groupId>
<artifactId>uaa-authentication-principal-extension-spring-boot-autoconfigure</artifactId>
<version>${version}</version>
</dependency>| Tool | Version |
|---|---|
| JDK | 21 |
| Gradle | 8.14.x |
| Node | 22.x |
| Npm | 10.9.x |
To build the project, follow the steps below.
For the client, install all dependencies and compile the package at the root project:
npm install
npm run compileFor the server (using the Gradle Wrapper), run the following command from the project root:
./gradlew assembleTo run the tests, use the following commands.
For the client, run the unit tests from the project root:
npm run testFor the server (using the Gradle Wrapper), run the following command from the project root:
./gradlew checkTo run the client, first install and compile from the project root, then change to the devapps/uaa-example-app-client directory:
cd devapps/uaa-example-app-client- Start the client:
npm startFor the server, using the Gradle Wrapper, run the following command from the project root with the local authentication type:
./gradlew startExampleServer -PPROFILES=uaa_localIf you want to run the server with other authentication types, you can choose one of the following profiles:
- uaa_ldap: For login with LDAP authentication
- uaa_apikey: For login with API Key authentication
- uaa_certificate: For login with Certificate authentication
- uaa_oauth2_jwt: For login with OAuth2 authentication
- uaa_saml: For login with SAML authentication
- uaa_all_types: For login with all authentication types
For setting up Keycloak or an LDAP server, please refer to the documentation.
Once running, open your browser and navigate to:
- UAA-Example-Client: http://localhost:3000
- UAA-Example-Server: http://localhost:8080
For local development only, you can log in using the username and password admin/admin using the first login button.
- Full technical documentation is available at GetA12.com.
- The website also provides access to the A12 Discourse Community Forum.
The mgm A12 Team