@crvouga/mockingbird-service-oauth 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -4
- package/README.md +1 -1
- package/dist/{chunk-LAL7G624.js → chunk-73KPFQ45.js} +6 -4
- package/dist/{chunk-LAL7G624.js.map → chunk-73KPFQ45.js.map} +2 -2
- package/dist/{chunk-AHMLLR4I.js → chunk-OHEZ2REI.js} +2 -2
- package/dist/cli.js +2 -2
- package/dist/index.js +1 -1
- package/dist/server.js +2 -2
- package/package.json +1 -1
- /package/dist/{chunk-AHMLLR4I.js.map → chunk-OHEZ2REI.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-oauth
|
|
2
2
|
|
|
3
|
-
## 3.
|
|
3
|
+
## 3.3.0 (2026-10-11)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- resolve reported emulator coverage gaps ([6edc643](https://github.com/crvouga/mockingbird/commit/6edc6438444853a51aca27849c4c8c0449109ea0))
|
|
8
|
+
|
|
9
|
+
## 3.2.0 (2026-10-08)
|
|
8
10
|
|
|
9
|
-
###
|
|
11
|
+
### Features
|
|
10
12
|
|
|
11
|
-
-
|
|
13
|
+
- match Emulate provider coverage ([16b65ce](https://github.com/crvouga/mockingbird/commit/16b65ce791fa216f28ec1521df636f57771d9c5e))
|
|
12
14
|
|
|
13
15
|
## 3.1.0 (2026-10-08)
|
|
14
16
|
|
package/README.md
CHANGED
|
@@ -284,7 +284,7 @@ This is a ready-to-use local/test identity provider, **not a production authenti
|
|
|
284
284
|
|
|
285
285
|
Vendor-hosted Google Identity Services/One Tap, native Apple AuthenticationServices, passkeys, MFA, CAPTCHA, password recovery, email delivery/relay forwarding (only Apple's notification of a forwarding change is sent), app-transfer migration, vendor risk engines, tokeninfo/introspection, logout, GitHub Apps installation/device flows, and Microsoft Graph/tenant administration are not implemented. Other configurable OIDC providers can use the generic profile, but their proprietary scopes and claims are not emulated. Scopes are limited to each profile plus explicitly configured additional scopes. Microsoft uses the configured emulator issuer, not real Entra tenant routing. GitHub is the OAuth app login surface, not the full REST API.
|
|
286
286
|
|
|
287
|
-
No implicit flow, dynamic client registration, wildcard redirect matching, persistent signing-key storage (keys are held in memory; supply them through `signingKeys` or derive them from a seed), or distributed-session coordination is provided. Private-use redirect schemes work only when their complete URI is explicitly registered; executable/local schemes such as `javascript:`, `data:` and `file:` are rejected. Sign-in and consent pages extend CSP `form-action` with the transaction's redirect origin (or custom scheme). Browser navigation responses use a provider-owned handoff document so the callback can relay through another origin without inheriting the consent form's policy; direct programmatic interaction requests retain their HTTP redirect response. Discovery, JWKS, token, userinfo and revoke answer `OPTIONS` preflights and reflect the request `Origin`, so browser (SPA + PKCE) clients can redeem codes directly; the interaction pages send no CORS headers. Snapshot restore is for the same runtime/instance; signing keys are not serialized. The default backing store is in-memory and state disappears when the process exits. A secure browser context and Web Crypto, Fetch and standard Web APIs are required; Node 22+, Bun and modern browsers provide them.
|
|
287
|
+
No implicit flow, dynamic client registration, wildcard redirect matching, persistent signing-key storage (keys are held in memory; supply them through `signingKeys` or derive them from a seed), or distributed-session coordination is provided. Private-use redirect schemes work only when their complete URI is explicitly registered; executable/local schemes such as `javascript:`, `data:` and `file:` are rejected. Sign-in and consent pages extend CSP `form-action` with the transaction's redirect origin (or custom scheme). Browser navigation responses use a provider-owned handoff document so the callback can relay through another origin without inheriting the consent form's policy; direct programmatic interaction requests retain their HTTP redirect response. The `form_post` hand-off page sends no `form-action` at all: browsers apply that directive to every redirect after the submit, and the callback that receives the POST may redirect to an application origin the provider never sees, so no allow-list can cover it. The rest of that page's policy (`default-src 'none'`, nonce-only scripts and styles, `base-uri 'none'`, `frame-ancestors 'none'`) is unchanged. Discovery, JWKS, token, userinfo and revoke answer `OPTIONS` preflights and reflect the request `Origin`, so browser (SPA + PKCE) clients can redeem codes directly; the interaction pages send no CORS headers. Snapshot restore is for the same runtime/instance; signing keys are not serialized. The default backing store is in-memory and state disappears when the process exits. A secure browser context and Web Crypto, Fetch and standard Web APIs are required; Node 22+, Bun and modern browsers provide them.
|
|
288
288
|
|
|
289
289
|
References: [Google OpenID Connect](https://developers.google.com/identity/openid-connect/openid-connect), [Apple authorization request](https://developer.apple.com/documentation/signinwithapplerestapi/request-an-authorization-to-the-sign-in-with-apple-server.), and [OpenID Connect Core](https://openid.net/specs/openid-connect-core-1_0.html).
|
|
290
290
|
|
|
@@ -2252,7 +2252,7 @@ var stateAdminRoutes = (routes) => {
|
|
|
2252
2252
|
};
|
|
2253
2253
|
|
|
2254
2254
|
// ../core/dist/version.js
|
|
2255
|
-
var PACKAGE_VERSION = true ? "3.
|
|
2255
|
+
var PACKAGE_VERSION = true ? "3.3.0" : UNRELEASED_VERSION;
|
|
2256
2256
|
|
|
2257
2257
|
// ../core/dist/webhooks.js
|
|
2258
2258
|
var json4 = (status, body) => new Response(JSON.stringify(body), {
|
|
@@ -3922,7 +3922,7 @@ function page(title, body, status = 200, action = "'self'", nonce = crypto.rando
|
|
|
3922
3922
|
"cache-control": "no-store",
|
|
3923
3923
|
"referrer-policy": "same-origin",
|
|
3924
3924
|
"x-content-type-options": "nosniff",
|
|
3925
|
-
"content-security-policy": `default-src 'none'; style-src 'nonce-${nonce}'; script-src 'nonce-${nonce}'; form-action ${action}; base-uri 'none'; frame-ancestors 'none'`
|
|
3925
|
+
"content-security-policy": `default-src 'none'; style-src 'nonce-${nonce}'; script-src 'nonce-${nonce}'; ${action === null ? "" : `form-action ${action}; `}base-uri 'none'; frame-ancestors 'none'`
|
|
3926
3926
|
}
|
|
3927
3927
|
}
|
|
3928
3928
|
);
|
|
@@ -5211,7 +5211,9 @@ var OAuthAPI = class {
|
|
|
5211
5211
|
""
|
|
5212
5212
|
)}<button class="primary" data-testid="oauth-mock-form-post-continue">Continue</button></form><script nonce="${nonce}">document.getElementById('callback').submit()</script>`,
|
|
5213
5213
|
200,
|
|
5214
|
-
|
|
5214
|
+
// The callback may answer this POST with a redirect to an origin only it knows (its web
|
|
5215
|
+
// app), and form-action would be applied to that hop too. No source list can allow it.
|
|
5216
|
+
null,
|
|
5215
5217
|
nonce,
|
|
5216
5218
|
"oauth-mock-form-post"
|
|
5217
5219
|
);
|
|
@@ -5439,4 +5441,4 @@ export {
|
|
|
5439
5441
|
createMultiRuntime,
|
|
5440
5442
|
OAuthAPI
|
|
5441
5443
|
};
|
|
5442
|
-
//# sourceMappingURL=chunk-
|
|
5444
|
+
//# sourceMappingURL=chunk-73KPFQ45.js.map
|