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>
This commit is contained in:
parent
620ad270db
commit
54c0b3f7b8
1 changed files with 108 additions and 39 deletions
8
packages/halkyon_oidc_server/lib/testing.dart
Normal file
8
packages/halkyon_oidc_server/lib/testing.dart
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/// A provider for tests, the module's and a host's own: RSA keys made in the
|
||||
/// test, and a fake provider answering the module's requests as an OpenID
|
||||
/// Connect provider would, SimpleLogin's way where asked. Never for a
|
||||
/// server's own code.
|
||||
library;
|
||||
|
||||
export 'src/testing/fake_provider.dart';
|
||||
export 'src/testing/test_key.dart';
|
||||
Loading…
Reference in a new issue