jcvillalta03/java-json-pep-sdk


This project provides a sample PEP SDK for Java that generates a XACML request and response in accordance with the JSON Profile of XACML WD22.

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    
	dependencies {
		implementation 'com.github.jcvillalta03:java-json-pep-sdk:0.1'
	}
	dependencies {
		implementation("com.github.jcvillalta03:java-json-pep-sdk:0.1")
	}
	<dependency>
	    <groupId>com.github.jcvillalta03</groupId>
	    <artifactId>java-json-pep-sdk</artifactId>
	    <version>0.1</version>
	</dependency>

                            
    libraryDependencies += "com.github.jcvillalta03" % "java-json-pep-sdk" % "0.1"
        
        

                            
    :dependencies [[com.github.jcvillalta03/java-json-pep-sdk "0.1"]]
        
        

Readme


Java JSON PEP SDK for XACML

This project provides a PEP SDK for Java, that generates a XACML request and response in accordance with the JSON Profile of XACML 1.1. The project is organized into a number of submodule projects using Apache Maven. Please see their brief descriptions below, or see the submodule project's READMEs.

The models can be used to POST a request to a Policy Decision Point (such as the Axiomatics Cloud Native PDP), using the client of your choice.

Examples of clients are provided int the client-* projects

Project Contents

More information can be found at OASIS's JSON Profile of XACML v 1.1.

How to Use the SDK

See example code in the Example code using clients and models subproject

Future work

  • Java Builders for the request-related models to assist in creation of requests
  • Kotlin Builder to provide a DSL-style builder, useful in testing.