---
title: Java SDK
description: Install and use the official Sudomimus Java packages.
editUrl: true
head: []
template: doc
sidebar:
  order: 6
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

import { CardGrid, LinkCard } from "@astrojs/starlight/components";

The Java SDK is a Gradle multi-module project targeting JDK 17. The token module is available as an alpha package today; Connect, Session, and Native modules are planned.

## Packages

| Module | Maven coordinates | Use it for | Status |
| --- | --- | --- | --- |
| `token` | `com.sudomimus:sudomimus-token` | Parse and verify Sudomimus access, refresh, and OIDC ID tokens. | Alpha |
| `connect` | `com.sudomimus:sudomimus-connect` | Connect inquiry lifecycle: establish, status poll, redeem, and info. | Planned |
| `session` | `com.sudomimus:sudomimus-session` | Refresh-token lifecycle: refresh, introspect, logout, and revoke-all. | Planned |
| `native` | `com.sudomimus:sudomimus-native` | Steam ticket and AccessKey direct-issue. | Planned |

Add the token module from your package registry once published:

```kotlin
dependencies {
    implementation("com.sudomimus:sudomimus-token")
}
```

## Token Verification

Use the token module in services that receive Sudomimus JWTs and need local verification. Resolve the token's `kid` from the configured application's Session JWK Set at `GET /applications/{applicationAnchor}/jwks.json`; do not derive the URL from an untrusted audience. Cache the set according to its HTTP response headers and refresh once when a `kid` is unknown.

The verification contract matches the other SDKs: parse the JWT, require RS256 and the expected token kind and audience, require a non-empty `kid`, check expiration, select that JWK, and verify the RSA-SHA256 signature.

## Source

<CardGrid>
<LinkCard
    title="Java modules"
    description="Source and module README files."
    href="https://github.com/sudomimus/sudomimus/tree/master/sdks/java"
/>
<LinkCard
    title="SDK overview"
    description="How the official SDKs map to Sudomimus APIs."
    href="/en-us/sdk/overview/"
/>
</CardGrid>