STATUS: Script created at /PANDA/scripts/uma/EXACT_TEST_COMMANDS.sh
REQUIREMENT: CSS pod server (localhost:3000) and UMA authorization server (localhost:4000) must be running
Verified location: user-managed-access/packages/css/config/seed.json
{
"authz": {
"server": "http://localhost:4000/uma"
}
}Conclusion: Token endpoint is http://localhost:4000/uma/token ✅
Verified location: user-managed-access/packages/uma/src/credentials/Formats.ts
export const JWT = 'urn:solidlab:uma:claims:formats:jwt';
export const UNSECURE = 'urn:solidlab:uma:claims:formats:webid';Usage in tests: policy-aware-decentralized-stream-replayer/src/scripts/UMA-test/uma-ODRL.ts
const claim_token_format = 'urn:solidlab:uma:claims:formats:webid'Conclusion: Claim token format is urn:solidlab:uma:claims:formats:webid (NOT JWT) ✅
Verified location: policy-aware-decentralized-stream-replayer/src/scripts/UMA-test/uma-ODRL.ts
const claim_token = "http://n063-04b.wall2.ilabt.iminds.be/replayer#me"Conclusion: Claim token is a plain WebID URL (e.g., http://localhost:3000/bob/profile/card#me) ✅
curl -X POST http://localhost:3000/alice/settings/policies/ \
-H "Content-Type: text/turtle" \
-d @/tmp/derived-acc-x-policy.ttlExpected Response: 201 Created with Location header
curl -v http://localhost:3000/alice/derived/acc-x/Expected Response: 403 Forbidden with WWW-Authenticate header containing UMA ticket
HTTP/1.1 403 Forbidden
WWW-Authenticate: UMA realm="http://localhost:4000/uma", error="insufficient_scope", error_description="...", ticket="<ticket_value>"
curl -X POST http://localhost:4000/uma/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket" \
-d "ticket=<TICKET_FROM_STEP_2>" \
-d "claim_token=http://localhost:3000/bob/profile/card#me" \
-d "claim_token_format=urn:solidlab:uma:claims:formats:webid"Expected Response: 200 OK with JSON body
{
"access_token": "rpt_...",
"token_type": "Bearer",
"expires_in": 1800
}curl -v -H "Authorization: Bearer <ACCESS_TOKEN_FROM_STEP_3>" \
http://localhost:3000/alice/derived/acc-x/Expected Response: 200 OK with resource data
HTTP/1.1 200 OK
Content-Type: text/turtle
...
<resource-data>
# Make script executable
chmod +x /Users/kushbisen/Code/PANDA\ Platform/PANDA/scripts/uma/EXACT_TEST_COMMANDS.sh
# Run the test (requires servers running on localhost:3000 and localhost:4000)
bash /Users/kushbisen/Code/PANDA\ Platform/PANDA/scripts/uma/EXACT_TEST_COMMANDS.sh| Setting | Value | Verified From | Reason |
|---|---|---|---|
| UMA Token Endpoint | http://localhost:4000/uma/token |
seed.json | CSS package explicitly configures UMA on port 4000 |
| Claim Token Format | urn:solidlab:uma:claims:formats:webid |
Formats.ts | Defined as UNSECURE constant for plain WebID URLs |
| Claim Token Type | Plain WebID URL | uma-ODRL.ts | Actual test usage shows WebID, not JWT |
❌ Servers not running - CSS (localhost:3000) and UMA (localhost:4000) not accessible ✅ Configuration verified - All endpoints and formats validated from source code ✅ Policy file created - Ready to POST to policy container ✅ Commands documented - Exact curl commands provided above
To get runtime evidence of 200 response:
- Start both servers (CSS on :3000, UMA on :4000)
- Run the test script created above
- It will display raw curl responses including the final
200 OK