Compare commits

...

57 Commits

Author SHA1 Message Date
argoyle 9d410abe54 Merge branch 'next-release' into 'main'
chore(release): prepare for 0.3.0

See merge request unboundsoftware/auth0mock!187
2025-12-28 20:21:31 +01:00
Unbound Release e740676de2 chore(release): prepare for 0.3.0 2025-12-28 20:21:30 +01:00
argoyle acb0568725 Merge branch 'increase-resource-limits-improve-checks' into 'main'
feat: increase resource limits and improve readiness checks

See merge request unboundsoftware/auth0mock!215
2025-12-28 15:29:58 +01:00
argoyle 6558d027ca feat: increase resource limits and improve readiness checks
Increases memory requests and limits in the Kubernetes deployment 
configuration to ensure better performance under load. Enhances 
the readiness and liveness probes by correcting the path and 
adding a liveness probe to improve service reliability. Updates 
Code by cleaning up session data after a successful token exchange 
and formats OpenID configuration response for better readability. 
Adds `.claude/` to .gitignore to prevent unwanted files from 
being tracked.
2025-12-28 15:25:52 +01:00
argoyle 17bad3a988 Merge branch 'renovate/node-24.x' into 'main'
chore(deps): update node.js to v24.12.0

See merge request unboundsoftware/auth0mock!214
2025-12-12 08:42:17 +01:00
Renovate d50387feb1 chore(deps): update node.js to v24.12.0 2025-12-11 20:03:44 +00:00
argoyle 083125a5bb Merge branch 'renovate/node-24.11.1' into 'main'
chore(deps): update node.js to aa57b08

See merge request unboundsoftware/auth0mock!213
2025-12-09 09:56:50 +01:00
Renovate 66b4fb90cd chore(deps): update node.js to aa57b08 2025-12-09 03:14:32 +00:00
argoyle 617812a044 Merge branch 'renovate/jsonwebtoken-9.x' into 'main'
fix(deps): update dependency jsonwebtoken to v9.0.3

See merge request unboundsoftware/auth0mock!212
2025-12-04 20:36:48 +01:00
Renovate cc3a402fe4 fix(deps): update dependency jsonwebtoken to v9.0.3 2025-12-04 11:02:02 +00:00
argoyle fc6882624f Merge branch 'renovate/prettier-3.x' into 'main'
chore(deps): update dependency prettier to v3.7.4

See merge request unboundsoftware/auth0mock!211
2025-12-03 06:11:44 +01:00
Renovate 3825ee0656 chore(deps): update dependency prettier to v3.7.4 2025-12-03 05:00:52 +00:00
argoyle 237fa7e381 Merge branch 'renovate/express-5.x' into 'main'
fix(deps): update dependency express to v5.2.1

See merge request unboundsoftware/auth0mock!210
2025-12-02 07:15:04 +01:00
Renovate b953439d0f fix(deps): update dependency express to v5.2.1 2025-12-01 21:01:15 +00:00
argoyle a74bd86fe2 Merge branch 'renovate/express-5.x' into 'main'
fix(deps): update dependency express to v5.2.0

See merge request unboundsoftware/auth0mock!209
2025-12-01 18:14:33 +01:00
Renovate f52ccf28bc fix(deps): update dependency express to v5.2.0 2025-12-01 17:02:42 +00:00
argoyle de61dda74e Merge branch 'renovate/prettier-3.x' into 'main'
chore(deps): update dependency prettier to v3.7.3

See merge request unboundsoftware/auth0mock!207
2025-11-30 18:48:33 +01:00
Renovate eb8bb78766 chore(deps): update dependency prettier to v3.7.3 2025-11-29 18:01:10 +00:00
argoyle f3ff720eb6 Merge branch 'renovate/prettier-3.x' into 'main'
chore(deps): update dependency prettier to v3.7.2

See merge request unboundsoftware/auth0mock!206
2025-11-29 15:02:24 +01:00
Renovate b5fde43240 chore(deps): update dependency prettier to v3.7.2 2025-11-28 21:01:53 +00:00
argoyle 3bca5a318e Merge branch 'renovate/prettier-3.x' into 'main'
chore(deps): update dependency prettier to v3.7.1

See merge request unboundsoftware/auth0mock!205
2025-11-28 08:36:32 +01:00
Renovate 22dbf00182 chore(deps): update dependency prettier to v3.7.1 2025-11-27 12:01:41 +00:00
argoyle d1af6008fd Merge branch 'renovate/prettier-3.x' into 'main'
chore(deps): update dependency prettier to v3.7.0

See merge request unboundsoftware/auth0mock!204
2025-11-27 11:38:22 +01:00
Renovate bd54fd68f8 chore(deps): update dependency prettier to v3.7.0 2025-11-27 09:02:26 +00:00
argoyle 75035ae716 Merge branch 'renovate/body-parser-2.x' into 'main'
fix(deps): update dependency body-parser to v2.2.1

See merge request unboundsoftware/auth0mock!203
2025-11-24 20:43:07 +01:00
Renovate 933dd886ff fix(deps): update dependency body-parser to v2.2.1 2025-11-24 19:03:15 +00:00
argoyle ad85ce8347 Merge branch 'renovate/node-24.11.1' into 'main'
chore(deps): update node.js to 11a2e11

See merge request unboundsoftware/auth0mock!202
2025-11-18 21:09:57 +01:00
Renovate 361a2d23bc chore(deps): update node.js to 11a2e11 2025-11-18 16:04:22 +00:00
argoyle 1b656ce2f9 Merge branch 'renovate/node-24.x' into 'main'
chore(deps): update node.js to v24.11.1

See merge request unboundsoftware/auth0mock!201
2025-11-13 08:59:56 +01:00
Renovate eba28529a6 chore(deps): update node.js to v24.11.1 2025-11-12 20:14:42 +00:00
argoyle e8155bfd0a Merge branch 'renovate/nodemon-3.x' into 'main'
fix(deps): update dependency nodemon to v3.1.11

See merge request unboundsoftware/auth0mock!200
2025-11-11 21:12:48 +01:00
Renovate 7b8dfb2cff fix(deps): update dependency nodemon to v3.1.11 2025-11-11 17:03:12 +00:00
argoyle a5f091efa6 Merge branch 'renovate/node-24.11.0' into 'main'
chore(deps): update node.js to 0601cd0

See merge request unboundsoftware/auth0mock!199
2025-11-04 14:13:50 +01:00
Renovate df48b03d01 chore(deps): update node.js to 0601cd0 2025-11-04 12:06:17 +00:00
argoyle 98e8a2abb6 Merge branch 'renovate/node-24.x' into 'main'
chore(deps): update node.js

See merge request unboundsoftware/auth0mock!198
2025-10-29 07:38:41 +01:00
Renovate 854aef9b8d chore(deps): update node.js 2025-10-28 23:11:20 +00:00
argoyle 3f2e1b588f Merge branch 'renovate/node-24.x' into 'main'
chore(deps): update node.js to v24

See merge request unboundsoftware/auth0mock!197
2025-10-28 07:12:00 +01:00
Renovate f573a3a60c chore(deps): update node.js to v24 2025-10-28 00:11:34 +00:00
argoyle ee0e44671c Merge branch 'renovate/node-22.x' into 'main'
chore(deps): update node.js to v22.21.0

See merge request unboundsoftware/auth0mock!196
2025-10-22 11:00:30 +02:00
Renovate 75e5abe166 chore(deps): update node.js to v22.21.0 2025-10-21 22:00:54 +00:00
argoyle 3c5127d3c0 Merge branch 'renovate/node-22.20.0' into 'main'
chore(deps): update node.js to 1260a4a

See merge request unboundsoftware/auth0mock!195
2025-10-21 20:11:45 +02:00
Renovate 3aef5e33fa chore(deps): update node.js to 1260a4a 2025-10-21 13:03:32 +00:00
argoyle e2b0c6422e Merge branch 'renovate/node-22.20.0' into 'main'
chore(deps): update node.js to 4b5601e

See merge request unboundsoftware/auth0mock!193
2025-10-01 19:22:37 +02:00
Renovate 7f9320dff2 chore(deps): update node.js to 4b5601e 2025-10-01 14:05:23 +00:00
argoyle bfa14ce1bd Merge branch 'renovate/node-22.x' into 'main'
chore(deps): update node.js to v22.20.0

See merge request unboundsoftware/auth0mock!192
2025-09-25 08:00:39 +02:00
Renovate 950a706bb6 chore(deps): update node.js to v22.20.0 2025-09-25 01:12:26 +00:00
argoyle 7e7828777d Merge branch 'renovate/debug-4.x' into 'main'
fix(deps): update dependency debug to v4.4.3

See merge request unboundsoftware/auth0mock!190
2025-09-14 12:28:30 +02:00
Renovate 1f6c92b497 fix(deps): update dependency debug to v4.4.3 2025-09-13 18:02:31 +00:00
Renovate b6c2971563 chore(deps): update node.js to 2e68a73 2025-09-09 07:00:33 +00:00
argoyle 6d0327b01d fix: downgrade debug package to version 4.4.1
Update the `debug` dependency to version 4.4.1 in both 
`package.json` and `yarn.lock` to resolve compatibility issues 
and ensure stability in the application.
2025-09-09 08:44:28 +02:00
Renovate 46efd38035 fix(deps): update dependency debug to v4.4.2 2025-09-08 14:01:12 +00:00
Renovate bdb9fbd405 chore(deps): update node.js to v22.19.0 2025-08-29 01:11:10 +00:00
Renovate 68851ed10f chore(deps): update node.js to da46023 2025-08-13 00:01:44 +00:00
Renovate f20913a0ba chore(deps): update node.js to v22.18.0 2025-08-04 10:00:30 +00:00
Renovate 338528f219 chore(deps): update node.js to f17eb88 2025-07-22 06:00:00 +00:00
Renovate 172174bd3e chore(deps): update node.js to v22.17.1 2025-07-16 18:59:59 +00:00
Renovate e399262daa chore(deps): update node.js to 40c53e3 2025-07-07 21:57:42 +00:00
10 changed files with 258 additions and 173 deletions
+1
View File
@@ -1,2 +1,3 @@
node_modules/ node_modules/
.idea/ .idea/
.claude/
+1 -1
View File
@@ -1 +1 @@
22 24
+1
View File
@@ -0,0 +1 @@
{"version":"0.3.0"}
+14 -26
View File
@@ -1,7 +1,19 @@
# Changelog ## [0.3.0] - 2025-12-28
All notable changes to this project will be documented in this file. ### 🚀 Features
- Increase resource limits and improve readiness checks
### 🐛 Bug Fixes
- *(deps)* Update dependency debug to v4.4.2
- Downgrade debug package to version 4.4.1
- *(deps)* Update dependency debug to v4.4.3
- *(deps)* Update dependency nodemon to v3.1.11
- *(deps)* Update dependency body-parser to v2.2.1
- *(deps)* Update dependency express to v5.2.0
- *(deps)* Update dependency express to v5.2.1
- *(deps)* Update dependency jsonwebtoken to v9.0.3
## [0.2.0] - 2025-06-29 ## [0.2.0] - 2025-06-29
### 🚀 Features ### 🚀 Features
@@ -14,7 +26,6 @@ All notable changes to this project will be documented in this file.
- *(deps)* Update dependency debug to v4.4.1 - *(deps)* Update dependency debug to v4.4.1
- *(deps)* Update dependency serve-favicon to v2.5.1 - *(deps)* Update dependency serve-favicon to v2.5.1
- *(k8s)* Update ingress configuration for backend service - *(k8s)* Update ingress configuration for backend service
## [0.1.5] - 2025-04-03 ## [0.1.5] - 2025-04-03
### 🐛 Bug Fixes ### 🐛 Bug Fixes
@@ -26,13 +37,11 @@ All notable changes to this project will be documented in this file.
### ⚙️ Miscellaneous Tasks ### ⚙️ Miscellaneous Tasks
- *(Dockerfile)* Update Node.js base image version - *(Dockerfile)* Update Node.js base image version
## [0.1.4] - 2025-01-24 ## [0.1.4] - 2025-01-24
### 🐛 Bug Fixes ### 🐛 Bug Fixes
- *(k8s)* Update labels to adhere to best practices - *(k8s)* Update labels to adhere to best practices
## [0.1.3] - 2024-12-18 ## [0.1.3] - 2024-12-18
### 🐛 Bug Fixes ### 🐛 Bug Fixes
@@ -50,7 +59,6 @@ All notable changes to this project will be documented in this file.
- Update renovate configuration to disable auth0mock updates - Update renovate configuration to disable auth0mock updates
- Remove Docker service from build stage configuration - Remove Docker service from build stage configuration
## [0.1.2] - 2024-10-19 ## [0.1.2] - 2024-10-19
### 🐛 Bug Fixes ### 🐛 Bug Fixes
@@ -62,7 +70,6 @@ All notable changes to this project will be documented in this file.
- Update Dockerfile to remove warnings - Update Dockerfile to remove warnings
- Support issuer in openid-configuration - Support issuer in openid-configuration
## [0.1.1] - 2024-10-05 ## [0.1.1] - 2024-10-05
### 🐛 Bug Fixes ### 🐛 Bug Fixes
@@ -84,7 +91,6 @@ All notable changes to this project will be documented in this file.
### ⚙️ Miscellaneous Tasks ### ⚙️ Miscellaneous Tasks
- Add release flow - Add release flow
## [0.1.0] - 2024-04-08 ## [0.1.0] - 2024-04-08
### 🚀 Features ### 🚀 Features
@@ -95,7 +101,6 @@ All notable changes to this project will be documented in this file.
- *(deps)* Update dependency express to v4.19.1 - *(deps)* Update dependency express to v4.19.1
- *(deps)* Update dependency express to v4.19.2 - *(deps)* Update dependency express to v4.19.2
## [0.0.17] - 2024-03-11 ## [0.0.17] - 2024-03-11
### 🚀 Features ### 🚀 Features
@@ -105,37 +110,31 @@ All notable changes to this project will be documented in this file.
### 🐛 Bug Fixes ### 🐛 Bug Fixes
- *(deps)* Update dependency express to v4.18.3 - *(deps)* Update dependency express to v4.18.3
## [0.0.16] - 2023-06-01 ## [0.0.16] - 2023-06-01
### 🚀 Features ### 🚀 Features
- Initial users store - Initial users store
## [0.0.15] - 2023-05-31 ## [0.0.15] - 2023-05-31
### 🐛 Bug Fixes ### 🐛 Bug Fixes
- Return empty array - Return empty array
## [0.0.14] - 2023-05-31 ## [0.0.14] - 2023-05-31
### 🚀 Features ### 🚀 Features
- Remember created users - Remember created users
## [0.0.13] - 2023-05-02 ## [0.0.13] - 2023-05-02
### 🚀 Features ### 🚀 Features
- Add name and email to id token - Add name and email to id token
## [0.0.12] - 2023-03-10 ## [0.0.12] - 2023-03-10
### 🐛 Bug Fixes ### 🐛 Bug Fixes
- Remove session on logout - Remove session on logout
## [0.0.11] - 2023-03-10 ## [0.0.11] - 2023-03-10
### 🐛 Bug Fixes ### 🐛 Bug Fixes
@@ -148,25 +147,21 @@ All notable changes to this project will be documented in this file.
- Use Docker DinD version from variable - Use Docker DinD version from variable
- Change Dependabot rebase strategy - Change Dependabot rebase strategy
- Format code and add prettier - Format code and add prettier
## [0.0.9] - 2022-04-28 ## [0.0.9] - 2022-04-28
### 🚀 Features ### 🚀 Features
- Add support for client id and secret tokens - Add support for client id and secret tokens
## [0.0.8] - 2022-04-26 ## [0.0.8] - 2022-04-26
### 🚀 Features ### 🚀 Features
- Add dummy-implementation of management API - Add dummy-implementation of management API
## [0.0.7] - 2022-04-26 ## [0.0.7] - 2022-04-26
### 🐛 Bug Fixes ### 🐛 Bug Fixes
- Use correct return-variable - Use correct return-variable
## [0.0.6] - 2022-04-26 ## [0.0.6] - 2022-04-26
### 🐛 Bug Fixes ### 🐛 Bug Fixes
@@ -180,25 +175,21 @@ All notable changes to this project will be documented in this file.
### ⚙️ Miscellaneous Tasks ### ⚙️ Miscellaneous Tasks
- Format code - Format code
## [0.0.5] - 2022-04-26 ## [0.0.5] - 2022-04-26
### 🐛 Bug Fixes ### 🐛 Bug Fixes
- Add custom claims to both id and access token - Add custom claims to both id and access token
## [0.0.4] - 2022-04-26 ## [0.0.4] - 2022-04-26
### 🚀 Features ### 🚀 Features
- Add email custom claim - Add email custom claim
## [0.0.3] - 2022-04-26 ## [0.0.3] - 2022-04-26
### 🚀 Features ### 🚀 Features
- Add env-property for default issuer - Add env-property for default issuer
## [0.0.2] - 2022-04-25 ## [0.0.2] - 2022-04-25
### 💼 Other ### 💼 Other
@@ -208,7 +199,6 @@ All notable changes to this project will be documented in this file.
### ⚙️ Miscellaneous Tasks ### ⚙️ Miscellaneous Tasks
- Change admin-handling - Change admin-handling
## [0.0.1] - 2022-04-19 ## [0.0.1] - 2022-04-19
### 🚀 Features ### 🚀 Features
@@ -256,5 +246,3 @@ All notable changes to this project will be documented in this file.
- Add dependabot config - Add dependabot config
- Remove dependabot-standalone - Remove dependabot-standalone
- Cleanup and remove acctest triggering - Cleanup and remove acctest triggering
<!-- generated by git-cliff -->
+83
View File
@@ -0,0 +1,83 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
auth0mock is a Node.js/Express application that simulates an Auth0 authentication server for local development. It provides OAuth 2.0 and OpenID Connect (OIDC) endpoints compatible with the Auth0 API, allowing developers to test authentication flows without connecting to the actual Auth0 service.
## Development Commands
```bash
# Install dependencies
yarn install
# Start production server (port 3333)
yarn start
# Development with auto-reload (nodemon)
yarn dev
# Format code
yarn lintfix
# Check formatting
yarn lint
```
## Architecture
This is a single-file Express application (`app.js`) that implements:
**Authentication Endpoints:**
- `POST /oauth/token` - Token exchange (OAuth 2.0 authorization code flow)
- `GET /authorize` - Authorization endpoint with HTML login form
- `POST /code` - Code generation for PKCE flow
**Discovery Endpoints:**
- `GET /.well-known/openid-configuration` - OIDC discovery document
- `GET /.well-known/jwks.json` - JSON Web Key Set for token verification
**Management API (Auth0-compatible):**
- `GET /api/v2/users-by-email` - Get user by email
- `POST /api/v2/users` - Create user
- `PATCH /api/v2/users/:userid` - Update user
- `POST /api/v2/tickets/password-change` - Password change ticket
**Key Implementation Details:**
- RSA 2048-bit key pair generated at startup using `node-jose`
- In-memory session and user storage (not persistent)
- PKCE support with code challenge verification
- Custom claims for admin (`https://unbound.se/admin`) and email (`https://unbound.se/email`)
## Environment Variables
| Variable | Default | Purpose |
| ------------ | -------------------------- | -------------------------------- |
| `ISSUER` | `localhost:3333` | JWT issuer claim |
| `AUDIENCE` | `https://generic-audience` | JWT audience claim |
| `USERS_FILE` | `./users.json` | Path to initial users JSON file |
| `DEBUG` | (unset) | Debug logging (`app*` to enable) |
## Initial Users
Create a `users.json` file to seed users on startup:
```json
{
"email@test.com": {
"given_name": "John",
"family_name": "Doe",
"user_id": "auth0|email@test.com",
"email": "email@test.com"
}
}
```
## Integration with Shiny
This service is used for local development and acceptance testing of the Shiny platform. The gateway and frontend services are configured to accept tokens signed by this mock server when running locally.
+1 -1
View File
@@ -1,4 +1,4 @@
FROM amd64/node:22.17.0@sha256:91cf1cc511d84f34d2c4763ffaea29f9e2f19c1da662740cbbbaf08b1d025eca FROM amd64/node:24.12.0@sha256:e8bb5aafe1964147c8344b1ea7698218e3675340407a07a14c49901df97455f6
ENV AUDIENCE="https://shiny.unbound.se" ENV AUDIENCE="https://shiny.unbound.se"
ENV ORIGIN_HOST="auth0mock" ENV ORIGIN_HOST="auth0mock"
ENV ORIGIN="https://auth0mock:3333" ENV ORIGIN="https://auth0mock:3333"
+65 -76
View File
@@ -8,7 +8,7 @@ const Debug = require('debug')
const path = require('path') const path = require('path')
const cors = require('cors') const cors = require('cors')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const jose = require('node-jose'); const jose = require('node-jose')
const favicon = require('serve-favicon') const favicon = require('serve-favicon')
const initialUsers = require('./users') const initialUsers = require('./users')
@@ -128,6 +128,10 @@ app.post('/oauth/token', async (req, res) => {
debug('Signed token for ' + session.email) debug('Signed token for ' + session.email)
// Clean up session and challenge after successful token exchange
delete sessions[code]
delete challenges[code]
res.json({ res.json({
access_token: accessToken, access_token: accessToken,
id_token: idToken, id_token: idToken,
@@ -141,22 +145,6 @@ app.post('/oauth/token', async (req, res) => {
} }
}) })
// This route can be used to generate a valid jwt-token.
app.get('/token/:email', (req, res) => {
if (!req.params.email) {
debug('No user was given!')
return res.status(400).send('user is missing')
}
const token = jwt.sign(
{
user_id: 'auth0|' + req.params.email
},
privateKey
)
debug('Signed token for ' + req.params.email)
res.json({ token })
})
app.post('/code', (req, res) => { app.post('/code', (req, res) => {
if (!req.body.email || !req.body.password || !req.body.codeChallenge) { if (!req.body.email || !req.body.password || !req.body.codeChallenge) {
debug('Body is invalid!', req.body) debug('Body is invalid!', req.body)
@@ -301,65 +289,66 @@ app.get('/.well-known/openid-configuration', (req, res) => {
debug('Fetching OpenID configuration') debug('Fetching OpenID configuration')
res.contentType('application/json').send( res.contentType('application/json').send(
JSON.stringify({ JSON.stringify({
"issuer": issuer: `${jwksOrigin}`,
`${jwksOrigin}`, authorization_endpoint: `${jwksOrigin}authorize`,
"authorization_endpoint": token_endpoint: `${jwksOrigin}oauth/token`,
`${jwksOrigin}authorize`, token_endpoint_auth_methods_supported: [
"token_endpoint": 'client_secret_basic',
`${jwksOrigin}oauth/token`, 'private_key_jwt'
"token_endpoint_auth_methods_supported": ],
["client_secret_basic", "private_key_jwt"], token_endpoint_auth_signing_alg_values_supported: ['RS256'],
"token_endpoint_auth_signing_alg_values_supported": userinfo_endpoint: `${jwksOrigin}userinfo`,
["RS256"], check_session_iframe: `${jwksOrigin}check_session`,
"userinfo_endpoint": end_session_endpoint: `${jwksOrigin}end_session`,
`${jwksOrigin}userinfo`, jwks_uri: `${jwksOrigin}.well-known/jwks.json`,
"check_session_iframe": registration_endpoint: `${jwksOrigin}register`,
`${jwksOrigin}check_session`, scopes_supported: [
"end_session_endpoint": 'openid',
`${jwksOrigin}end_session`, 'profile',
"jwks_uri": 'email',
`${jwksOrigin}.well-known/jwks.json`, 'address',
"registration_endpoint": 'phone',
`${jwksOrigin}register`, 'offline_access'
"scopes_supported": ],
["openid", "profile", "email", "address", response_types_supported: [
"phone", "offline_access"], 'code',
"response_types_supported": 'code id_token',
["code", "code id_token", "id_token", "id_token token"], 'id_token',
"acr_values_supported": 'id_token token'
[], ],
"subject_types_supported": acr_values_supported: [],
["public", "pairwise"], subject_types_supported: ['public', 'pairwise'],
"userinfo_signing_alg_values_supported": userinfo_signing_alg_values_supported: ['RS256', 'ES256', 'HS256'],
["RS256", "ES256", "HS256"], userinfo_encryption_alg_values_supported: ['RSA-OAEP-256', 'A128KW'],
"userinfo_encryption_alg_values_supported": userinfo_encryption_enc_values_supported: ['A128CBC-HS256', 'A128GCM'],
["RSA-OAEP-256", "A128KW"], id_token_signing_alg_values_supported: ['RS256', 'ES256', 'HS256'],
"userinfo_encryption_enc_values_supported": id_token_encryption_alg_values_supported: ['RSA-OAEP-256', 'A128KW'],
["A128CBC-HS256", "A128GCM"], id_token_encryption_enc_values_supported: ['A128CBC-HS256', 'A128GCM'],
"id_token_signing_alg_values_supported": request_object_signing_alg_values_supported: ['none', 'RS256', 'ES256'],
["RS256", "ES256", "HS256"], display_values_supported: ['page', 'popup'],
"id_token_encryption_alg_values_supported": claim_types_supported: ['normal', 'distributed'],
["RSA-OAEP-256", "A128KW"], claims_supported: [
"id_token_encryption_enc_values_supported": 'sub',
["A128CBC-HS256", "A128GCM"], 'iss',
"request_object_signing_alg_values_supported": 'auth_time',
["none", "RS256", "ES256"], 'acr',
"display_values_supported": 'name',
["page", "popup"], 'given_name',
"claim_types_supported": 'family_name',
["normal", "distributed"], 'nickname',
"claims_supported": 'profile',
["sub", "iss", "auth_time", "acr", 'picture',
"name", "given_name", "family_name", "nickname", 'website',
"profile", "picture", "website", 'email',
"email", "email_verified", "locale", "zoneinfo", 'email_verified',
"https://unbound.se/email", "https://unbound.se/admin"], 'locale',
"claims_parameter_supported": 'zoneinfo',
true, 'https://unbound.se/email',
"service_documentation": 'https://unbound.se/admin'
"http://auth0/", ],
"ui_locales_supported": claims_parameter_supported: true,
["en-US"] service_documentation: 'http://auth0/',
ui_locales_supported: ['en-US']
}) })
) )
}) })
+9 -3
View File
@@ -18,9 +18,9 @@ spec:
imagePullPolicy: "IfNotPresent" imagePullPolicy: "IfNotPresent"
resources: resources:
requests: requests:
memory: 200Mi memory: 256Mi
limits: limits:
memory: 300Mi memory: 512Mi
ports: ports:
- containerPort: 3333 - containerPort: 3333
env: env:
@@ -29,7 +29,13 @@ spec:
readinessProbe: readinessProbe:
httpGet: httpGet:
port: 3333 port: 3333
path: .well-known/jwks.json path: /.well-known/jwks.json
livenessProbe:
httpGet:
port: 3333
path: /.well-known/jwks.json
initialDelaySeconds: 10
periodSeconds: 30
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
+6 -6
View File
@@ -14,18 +14,18 @@
"author": "", "author": "",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"body-parser": "2.2.0", "body-parser": "2.2.1",
"cookie-parser": "1.4.7", "cookie-parser": "1.4.7",
"cors": "2.8.5", "cors": "2.8.5",
"debug": "4.4.1", "debug": "4.4.3",
"express": "5.1.0", "express": "5.2.1",
"https-localhost": "4.7.1", "https-localhost": "4.7.1",
"jsonwebtoken": "9.0.2", "jsonwebtoken": "9.0.3",
"node-jose": "2.2.0", "node-jose": "2.2.0",
"nodemon": "3.1.10", "nodemon": "3.1.11",
"serve-favicon": "2.5.1" "serve-favicon": "2.5.1"
}, },
"devDependencies": { "devDependencies": {
"prettier": "3.6.2" "prettier": "3.7.4"
} }
} }
+77 -60
View File
@@ -74,20 +74,20 @@ body-parser@1.20.3:
type-is "~1.6.18" type-is "~1.6.18"
unpipe "1.0.0" unpipe "1.0.0"
body-parser@2.2.0, body-parser@^2.2.0: body-parser@2.2.1, body-parser@^2.2.1:
version "2.2.0" version "2.2.1"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-2.2.0.tgz#f7a9656de305249a715b549b7b8fd1ab9dfddcfa" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-2.2.1.tgz#6df606b0eb0a6e3f783dde91dde182c24c82438c"
integrity sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg== integrity sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==
dependencies: dependencies:
bytes "^3.1.2" bytes "^3.1.2"
content-type "^1.0.5" content-type "^1.0.5"
debug "^4.4.0" debug "^4.4.3"
http-errors "^2.0.0" http-errors "^2.0.0"
iconv-lite "^0.6.3" iconv-lite "^0.7.0"
on-finished "^2.4.1" on-finished "^2.4.1"
qs "^6.14.0" qs "^6.14.0"
raw-body "^3.0.0" raw-body "^3.0.1"
type-is "^2.0.0" type-is "^2.0.1"
brace-expansion@^1.1.7: brace-expansion@^1.1.7:
version "1.1.11" version "1.1.11"
@@ -104,10 +104,10 @@ braces@~3.0.2:
dependencies: dependencies:
fill-range "^7.1.1" fill-range "^7.1.1"
buffer-equal-constant-time@1.0.1: buffer-equal-constant-time@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
buffer@^6.0.3: buffer@^6.0.3:
version "6.0.3" version "6.0.3"
@@ -122,7 +122,7 @@ bytes@3.0.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
bytes@3.1.2, bytes@^3.1.2: bytes@3.1.2, bytes@^3.1.2, bytes@~3.1.2:
version "3.1.2" version "3.1.2"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
@@ -261,10 +261,10 @@ debug@2.6.9:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@4.4.1: debug@4.4.3, debug@^4.4.3:
version "4.4.1" version "4.4.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a"
integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
dependencies: dependencies:
ms "^2.1.3" ms "^2.1.3"
@@ -291,7 +291,7 @@ define-data-property@^1.1.4:
es-errors "^1.3.0" es-errors "^1.3.0"
gopd "^1.0.1" gopd "^1.0.1"
depd@2.0.0, depd@^2.0.0: depd@2.0.0, depd@^2.0.0, depd@~2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
@@ -376,18 +376,19 @@ etag@^1.8.1, etag@~1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
express@5.1.0: express@5.2.1:
version "5.1.0" version "5.2.1"
resolved "https://registry.yarnpkg.com/express/-/express-5.1.0.tgz#d31beaf715a0016f0d53f47d3b4d7acf28c75cc9" resolved "https://registry.yarnpkg.com/express/-/express-5.2.1.tgz#8f21d15b6d327f92b4794ecf8cb08a72f956ac04"
integrity sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA== integrity sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==
dependencies: dependencies:
accepts "^2.0.0" accepts "^2.0.0"
body-parser "^2.2.0" body-parser "^2.2.1"
content-disposition "^1.0.0" content-disposition "^1.0.0"
content-type "^1.0.5" content-type "^1.0.5"
cookie "^0.7.1" cookie "^0.7.1"
cookie-signature "^1.2.1" cookie-signature "^1.2.1"
debug "^4.4.0" debug "^4.4.0"
depd "^2.0.0"
encodeurl "^2.0.0" encodeurl "^2.0.0"
escape-html "^1.0.3" escape-html "^1.0.3"
etag "^1.8.1" etag "^1.8.1"
@@ -622,6 +623,17 @@ http-errors@2.0.0, http-errors@^2.0.0:
statuses "2.0.1" statuses "2.0.1"
toidentifier "1.0.1" toidentifier "1.0.1"
http-errors@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.1.tgz#36d2f65bc909c8790018dd36fb4d93da6caae06b"
integrity sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==
dependencies:
depd "~2.0.0"
inherits "~2.0.4"
setprototypeof "~1.2.0"
statuses "~2.0.2"
toidentifier "~1.0.1"
https-localhost@4.7.1: https-localhost@4.7.1:
version "4.7.1" version "4.7.1"
resolved "https://registry.yarnpkg.com/https-localhost/-/https-localhost-4.7.1.tgz#0fa4d2671a44ac32f10ae8abccc8d0178e7fcf3e" resolved "https://registry.yarnpkg.com/https-localhost/-/https-localhost-4.7.1.tgz#0fa4d2671a44ac32f10ae8abccc8d0178e7fcf3e"
@@ -641,10 +653,10 @@ iconv-lite@0.4.24:
dependencies: dependencies:
safer-buffer ">= 2.1.2 < 3" safer-buffer ">= 2.1.2 < 3"
iconv-lite@0.6.3, iconv-lite@^0.6.3: iconv-lite@^0.7.0, iconv-lite@~0.7.0:
version "0.6.3" version "0.7.0"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.7.0.tgz#c50cd80e6746ca8115eb98743afa81aa0e147a3e"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== integrity sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==
dependencies: dependencies:
safer-buffer ">= 2.1.2 < 3.0.0" safer-buffer ">= 2.1.2 < 3.0.0"
@@ -658,7 +670,7 @@ ignore-by-default@^1.0.1:
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
inherits@2.0.4: inherits@2.0.4, inherits@~2.0.4:
version "2.0.4" version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -707,12 +719,12 @@ isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
jsonwebtoken@9.0.2: jsonwebtoken@9.0.3:
version "9.0.2" version "9.0.3"
resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz#6cd57ab01e9b0ac07cb847d53d3c9b6ee31f7ae2"
integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== integrity sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==
dependencies: dependencies:
jws "^3.2.2" jws "^4.0.1"
lodash.includes "^4.3.0" lodash.includes "^4.3.0"
lodash.isboolean "^3.0.3" lodash.isboolean "^3.0.3"
lodash.isinteger "^4.0.4" lodash.isinteger "^4.0.4"
@@ -723,21 +735,21 @@ jsonwebtoken@9.0.2:
ms "^2.1.1" ms "^2.1.1"
semver "^7.5.4" semver "^7.5.4"
jwa@^1.4.1: jwa@^2.0.1:
version "1.4.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.1.tgz#bf8176d1ad0cd72e0f3f58338595a13e110bc804"
integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== integrity sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==
dependencies: dependencies:
buffer-equal-constant-time "1.0.1" buffer-equal-constant-time "^1.0.1"
ecdsa-sig-formatter "1.0.11" ecdsa-sig-formatter "1.0.11"
safe-buffer "^5.0.1" safe-buffer "^5.0.1"
jws@^3.2.2: jws@^4.0.1:
version "3.2.2" version "4.0.1"
resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.1.tgz#07edc1be8fac20e677b283ece261498bd38f0690"
integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== integrity sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==
dependencies: dependencies:
jwa "^1.4.1" jwa "^2.0.1"
safe-buffer "^5.0.1" safe-buffer "^5.0.1"
lodash.includes@^4.3.0: lodash.includes@^4.3.0:
@@ -908,10 +920,10 @@ node-jose@2.2.0:
process "^0.11.10" process "^0.11.10"
uuid "^9.0.0" uuid "^9.0.0"
nodemon@3.1.10: nodemon@3.1.11:
version "3.1.10" version "3.1.11"
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.10.tgz#5015c5eb4fffcb24d98cf9454df14f4fecec9bc1" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.11.tgz#04a54d1e794fbec9d8f6ffd8bf1ba9ea93a756ed"
integrity sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw== integrity sha512-is96t8F/1//UHAjNPHpbsNY46ELPpftGUoSVNXwUfMk/qdjSylYrWSu1XavVTBOn526kFiOR733ATgNBCQyH0g==
dependencies: dependencies:
chokidar "^3.5.2" chokidar "^3.5.2"
debug "^4" debug "^4"
@@ -993,10 +1005,10 @@ picomatch@^2.0.4, picomatch@^2.2.1:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
prettier@3.6.2: prettier@3.7.4:
version "3.6.2" version "3.7.4"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.7.4.tgz#d2f8335d4b1cec47e1c8098645411b0c9dff9c0f"
integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== integrity sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==
process-nextick-args@~2.0.0: process-nextick-args@~2.0.0:
version "2.0.0" version "2.0.0"
@@ -1050,15 +1062,15 @@ raw-body@2.5.2:
iconv-lite "0.4.24" iconv-lite "0.4.24"
unpipe "1.0.0" unpipe "1.0.0"
raw-body@^3.0.0: raw-body@^3.0.1:
version "3.0.0" version "3.0.2"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-3.0.0.tgz#25b3476f07a51600619dae3fe82ddc28a36e5e0f" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-3.0.2.tgz#3e3ada5ae5568f9095d84376fd3a49b8fb000a51"
integrity sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g== integrity sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==
dependencies: dependencies:
bytes "3.1.2" bytes "~3.1.2"
http-errors "2.0.0" http-errors "~2.0.1"
iconv-lite "0.6.3" iconv-lite "~0.7.0"
unpipe "1.0.0" unpipe "~1.0.0"
readable-stream@^2.0.1: readable-stream@^2.0.1:
version "2.3.6" version "2.3.6"
@@ -1211,7 +1223,7 @@ set-function-length@^1.2.1:
gopd "^1.0.1" gopd "^1.0.1"
has-property-descriptors "^1.0.2" has-property-descriptors "^1.0.2"
setprototypeof@1.2.0: setprototypeof@1.2.0, setprototypeof@~1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
@@ -1301,6 +1313,11 @@ statuses@2.0.1, statuses@^2.0.1:
resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
statuses@~2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382"
integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==
string_decoder@^1.1.1: string_decoder@^1.1.1:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
@@ -1329,7 +1346,7 @@ to-regex-range@^5.0.1:
dependencies: dependencies:
is-number "^7.0.0" is-number "^7.0.0"
toidentifier@1.0.1: toidentifier@1.0.1, toidentifier@~1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
@@ -1339,7 +1356,7 @@ touch@^3.1.0:
resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.1.tgz#097a23d7b161476435e5c1344a95c0f75b4a5694" resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.1.tgz#097a23d7b161476435e5c1344a95c0f75b4a5694"
integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA== integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==
type-is@^2.0.0, type-is@^2.0.1: type-is@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97" resolved "https://registry.yarnpkg.com/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97"
integrity sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== integrity sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==