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>
35 lines
1.1 KiB
YAML
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
|