{"ref":"artifact:sap-samples-ams-samples-java","page":"/artifacts/sap-samples-ams-samples-java","json":"/artifacts/sap-samples-ams-samples-java.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-ams-samples-java","name":"SAP-samples/ams-samples-java","artifact_type":"sample","ecosystem":"btp","domain":"security-and-compliance","use_as":"reference","origin_ring":"sap-official","description":{"one_line":"Sample Java applications, on Javalin, Spring Boot and CAP Java, showing policy-based authorization through the Authorization Management Service on SAP BTP, with DCL policies checked against JWT tokens.","short":"Java apps showing policy-based authorization with AMS on SAP BTP","what_it_solves":"Covers three Java frameworks against the same Authorization Management Service (AMS) v4 Core API: a Javalin app, a Spring Boot app using AMS's Spring Security integration, and a Spring Boot app built on SAP CAP Java, each authenticating through the SAP [Cloud Identity Services](artifact:btp-cloud-identity-services) and authorizing with JWT tokens checked against DCL policy files. Older v3-based samples are kept in a legacy-v3-samples directory for reference; the maintainers recommend v4 for new projects and migrating existing v3 projects."},"links":{"repo":"https://github.com/SAP-samples/ams-samples-java","homepage":"https://sap.github.io/cloud-identity-developer-guide/"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/SAP-samples/ams-samples-java","title":"SAP-samples/ams-samples-java — README","checked":"2026-10-18","quote":"This repository brings together several sample applications that demonstrate how to integrate the **SAP Authorization Management Service (AMS)** into various Java frameworks."}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:authorization"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:bugwelle","actor:f-blass","actor:finkmanatsap","actor:johanneskra","actor:kuntzed","actor:liga-oz","actor:niklasherrmann21","actor:pianocktail","actor:sap-martinnaumann","actor:timolasi"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"13 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"good","evidence":"Spring Boot Shopping sample green, 2026-10-13"}],"practice":[{"label":"Tests","tier":"good","evidence":"57 test files"},{"label":"Docs","tier":"good","evidence":"README 4 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":0,"forks":0,"open_issues":8,"archived":false,"pushed_at":"2026-10-13","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2025-02-28T09:55:56Z","open_prs":6,"tree_truncated":false,"test_files":57,"workflows":3,"other_ci":true,"readme_bytes":4262,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2023-04-28","last_commit":"2026-10-13","commits":194,"contributors":13,"ci_status":"success","ci_run_at":"2026-10-13","ci_workflow":"Spring Boot Shopping sample","ci_event":"push","readme_path":"README.md","readme_sha":"143dc64b84044261db53c4084c22ba06e97e7432","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:bugwelle","name":"Andre Meyering","json":"/actors/bugwelle.json"},{"ref":"actor:kuntzed","name":"Daniel Kuntze","json":"/actors/kuntzed.json"},{"ref":"actor:f-blass","name":"f-blass","json":"/actors/f-blass.json"},{"ref":"actor:johanneskra","name":"Johannes Kratzsch","json":"/actors/johanneskra.json"},{"ref":"actor:liga-oz","name":"Līga","json":"/actors/liga-oz.json"},{"ref":"actor:finkmanatsap","name":"Manuel Fink","json":"/actors/finkmanatsap.json"},{"ref":"actor:pianocktail","name":"Matthias Bühl","json":"/actors/pianocktail.json"},{"ref":"actor:niklasherrmann21","name":"NiklasHerrmann21","json":"/actors/niklasherrmann21.json"},{"ref":"actor:sap-martinnaumann","name":"SAP-MartinNaumann","json":"/actors/sap-martinnaumann.json"},{"ref":"actor:timolasi","name":"timolasi","json":"/actors/timolasi.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}