Skip to content

dbeaver/pro#10784 Add shared SSO API contracts - #11

Merged
alexander-skoblikov merged 6 commits into
develfrom
dbeaver/pro#10784-new-datadam-service-for-authentication
Oct 8, 2026
Merged

alexander-skoblikov merged 6 commits into
develfrom
dbeaver/pro#10784-new-datadam-service-for-authentication

Conversation

@alexander-skoblikov

@alexander-skoblikov alexander-skoblikov commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Closes dbeaver/pro#10784

Summary

  • Add the com.dbeaver.datadam.sso.api OSGi/Maven module and export shared authorization, identity, token exchange and handoff DTOs.
  • Use Gson annotations for protocol field names and keep the API independent of server and Nimbus implementations.
  • Document backend authentication, browser-bound handoffs and PKCE token exchange.

Related changes

Companion SSO server: https://github.com/dbeaver/datadam/pull/121.
Merge the API module before the server PR; build both issue branches together for validation.

Validation

Built together with the companion server through the DataDam aggregate:

../dbeaver-common/mvnw -q -f aggregate/pom.xml -pl :com.dbeaver.datadam.server.sso -am verify -Dlogging.level.root=ERROR
  • Build passed; 311 SSO server tests passed, including shared DTO serialization and complete handoff/token exchange.
  • git diff --check passed.

Application integrations are a follow-up to the shared contracts and SSO service.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

One or more issues must be addressed before approval.

Review effort: Lite
Findings: 1 High severity · 1 Medium severity

Open (2)
What changed in this PR

Adds a shared SSO API module containing DTOs, client utilities, JWT/JWKS verification, token exchange, and browser handoff support.

Changes:

  • Added and registered the SSO OSGi/Maven module.
  • Added shared authorization, identity, token, handoff, JWKS, and error models.
  • Added client integration tests and SSO protocol documentation.
File Description
README.md Updated as part of this pull request.
apis/​pom.xml Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​test/​java/​com/​dbeaver/​datadam/​sso/​api/​client/​DDSsoClientTest.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoTokenResponse.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoTokenRequest.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoPublicJwk.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoJwksResponse.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoIdentity.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoHandoffResponse.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoHandoffRequest.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoErrorResponse.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​model/​DDSsoAuthorizeRequest.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​exception/​DDSsoClientException.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​client/​DDSsoClientConfig.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​src/​main/​java/​com/​dbeaver/​datadam/​sso/​api/​client/​DDSsoClient.java Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​pom.xml Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​META-INF/​MANIFEST.MF Updated as part of this pull request.
apis/​com.dbeaver.datadam.sso.api/​build.properties Updated as part of this pull request.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Bundle-ActivationPolicy: lazy
Require-Bundle: org.jkiss.utils,
com.nimbusds.nimbus-jose-jwt;bundle-version="10.9.1"
Import-Package: com.google.gson.annotations,
@NotNull String issuer,
@Nullable String backchannelUrl,
@NotNull String clientId,
@NotNull String clientSecret,
vkirst
vkirst previously approved these changes Oct 5, 2026
labanovichttps
labanovichttps previously approved these changes Oct 7, 2026
@alexander-skoblikov
alexander-skoblikov merged commit acc5d13 into devel Oct 8, 2026
@alexander-skoblikov
alexander-skoblikov deleted the dbeaver/pro#10784-new-datadam-service-for-authentication branch October 8, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants