halkyon/packages/halkyon_oidc_server/pubspec.yaml
Tizian 「ティツィアーン」 54c0b3f7b8
feat(oidc): a fake provider for hosts' tests (testing.dart)
The module's test provider moves into `package:halkyon_oidc_server/testing.dart`,
so a host tests its own sign-in against the module's real checks rather than
a copy: `TestKey` makes and publishes an RSA key and signs ID tokens with
headers written by hand (no `typ`, as SimpleLogin's), and `FakeProvider`
answers discovery, the keys and the token endpoint through an HTTP client
the host hands the module. `FakeProvider.simpleLogin` has SimpleLogin's
issuer and endpoints, without PKCE, as the preset expects; a test now signs
in through the preset end to end. pointycastle, already in the lock through
dart_jsonwebtoken, becomes a dependency for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-24 09:17:47 +02:00

35 lines
1.1 KiB
YAML

name: halkyon_oidc_server
description: >-
Signing in with OpenID Connect for Serverpod, as a module: any provider
that follows OpenID Connect's code flow, SimpleLogin a preset. Keeps only
the provider's ID of a person; the ID token checked against the provider's
keys, the nonce and the attempt the device holds.
version: 0.1.0
# In the Halkyon repository until it runs on learn.halkyon.eu (ADR 0023, D3).
publish_to: none
environment:
sdk: ^3.13.0
resolution: workspace
dependencies:
clock: ^1.1.3
# The PKCE challenge's SHA-256.
crypto: ^3.0.7
# Checks ID tokens' signatures (ADR 0020, D12). Pinned exactly, as what checks
# who someone is must never move by accident; the version Serverpod's own
# sign-ins resolve to (^3.1.0).
dart_jsonwebtoken: 3.4.1
# The providers' discovery documents, keys and token endpoints.
http: ^1.6.0
meta: ^1.16.0
# Makes the RSA keys the fake provider signs its tokens with (`testing.dart`,
# for hosts' tests); dart_jsonwebtoken signs and checks with it too.
pointycastle: ^4.0.0
serverpod: 4.0.4
serverpod_auth_idp_server: 4.0.4
dev_dependencies:
serverpod_test: 4.0.4
test: ^1.25.5