{"id":18772669,"url":"https://github.com/authgear/xk6-authgear","last_synced_at":"2025-12-13T06:30:13.430Z","repository":{"id":103560082,"uuid":"560283523","full_name":"authgear/xk6-authgear","owner":"authgear","description":null,"archived":false,"fork":false,"pushed_at":"2022-11-09T07:11:29.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2023-03-03T22:32:47.552Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/authgear.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-01T06:06:05.000Z","updated_at":"2024-06-19T03:59:21.597Z","dependencies_parsed_at":null,"dependency_job_id":"1e24a4ab-ea6c-4d0e-8302-ec901b4ad53a","html_url":"https://github.com/authgear/xk6-authgear","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authgear%2Fxk6-authgear","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authgear%2Fxk6-authgear/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authgear%2Fxk6-authgear/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/authgear%2Fxk6-authgear/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/authgear","download_url":"https://codeload.github.com/authgear/xk6-authgear/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239681025,"owners_count":19679508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T19:29:51.844Z","updated_at":"2025-12-13T06:30:13.385Z","avatar_url":"https://github.com/authgear.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Authgear xk6 extension\n\n## What is this\n\nThis is a xk6 extension to help writing k6 scripts for Authgear.\n\n## Preparation\n\n### Build k6\n\n1. Clone this repository.\n1. Follow the [official guide](https://k6.io/docs/extensions/get-started/create/javascript-extensions/) to set things up.\n1. Run `make build` in this repository to build a custom build of `k6`.\n\n### Prepare a tenant for testing purpose\n\n1. We are going to use `loadtest` as the project ID (or app ID).\n1. Run `./authgear init -o ./tmp` to generate `authgear.secrets.yaml`. We do not need the generated `authgear.yaml`.\n1. Add a row in `_portal_config_source` to add this tenant. Use [./authgear.yaml](./authgear.yaml), [./authgear.features.yaml](./authgear.features.yaml), and the generated `authgear.secrets.yaml`.\n\n### Prepare the Admin API token\n\n1. Inspect the content of `authgear.secrets.yaml`. Move the JWK of Admin API to a new file called `jwk.yaml`.\n\n```yaml\n# authgear.secrets.yaml\n# other contents omitted...\n    keys:\n    - alg: RS256\n      created_at: 1627551836\n      d: oJP9r8semY_yVCbUPWjfcBQvJ3NgXIZ0JnB4TYbvckd6XbLED_s8gwBazmq88kqyVZneZ900xmcygkYckXlk8VysNm2GRHDY9n0ISbJCjpKoDI5zsx4JODoqNbSX5O1Jz3DsUCpCvdvoQU-LPcrnIDUn9Hq8oNPGqAA2O4SGbZ96qRaAImMVp6WzBeGmttrBHrGXa16Q2_qSOzhdokfYUn0D5Ejybxp7-wPlHYbF_npiTS3cWg103YqhBOFVow_NywxUf18UN9BLaMV1sSsVz4gTN2q8y8eYmHr6nrxzCW2YBvP_oNKtQhQ9lLZ3KbZ05sfWYQxZvniMPHdV2kcEAQ\n      dp: 5pdEfAA3eSlOmcjXXl3zJa66JBHvWqloln7jtSgDPZH_-7CeRrtVFiJClD--aMKeB8oUL91wAAOaigsbsJn2Ps6gzkfgsZ1D8iTalZRL2wvqJichcwjbIFkfeeq71CPtlK1JQ2wocjZRmkjiG6-3SJtIp9g5TTzqXFLrUcO7C4E\n      dq: bxKtRDrR71WF4en1TsjauNC63RBXl03yr-C5cIkxUpRWzT9O30i_1PDymruxceuw7oQSiKS9icB8Dy60ZtkFbzr95YbCsK_2KkFPV4a21pAbhWSH4hF6_okp6fXiw8_1Ms62GgIZ2bky5ZNHufXCbhAQ_ZaGEXmyQw1k2dwgWJE\n      e: AQAB\n      kid: 8fce2c32-0a96-4431-ba40-a7f068eed276\n      kty: RSA\n      \"n\": xIfD5TGAeMYr40hh7iASyIqZnRHNefrqn-3J8uDB85pnBXl_PRhAF4tqYCOL8n9X3yquwSjtJJAnXLsEh7m8Av2srTmGgG0Qur706_O-TBipgLW_GpvCOWxrjBvU52nXBdh4tbNBCbonV4ZwAo25pGIGgnhdmurnot2NDNhApWk85khab_2wGxxhJrsq4vTXyi4oXz5XkDXAa8wXMZPXyLkr5KAXMJo6TF1WKo3yqTf9Xm_ImOpobo_Q2YiN4oP5BCKjlxnDx_EYW6jG3K25ez2310IDoNj8VFN1Le2XTB1_ZC7JqPT8Xprd-mIqLWjGZlzxciW6Ct3gXtwXbDvhRQ\n      p: -NfOgiPhDE3DqmiYy7Wlp4kXgiEL0GLjv4T0NJ-lgsql9UukADWI2IhppeKN26ryBgUgNIweX6urYQUKXDSrp0uUgvuwA-c8rHaFznB0nIqXAOyiA7xx6-bxa06-AfjGDtVXEUOFejLags4mjD60IgmQ2F7mxdzGS_MdxZrEUME\n      q: yi7Jz8OicYij_Qp9Qr0Wn2jVEQCSz7e3ZwKY91gYiw-uU_H6sy1qGRc7uXQZPSgmo5Kt3d2EJ-rhiXn0CYm29u4lmmJLbB_KCMGVLjQJMhPd6NlixEEqojOnDtEFKPJFIcmgcUEvuSVgUmjt3P_VBiHzwOntV67MWx-Y-vkMLYU\n      qi: vLeBmXYV_Lz-s1T2a4RYR2uvuoysGAhKUAKznCxMl01DVbx2LwOcfqPdY0gK1BzAhMv9UC7vCYpQNkzyt_a0UVTRY-UGg45L_kf0PLBflc2PuOVsKNrkqHAO-zRSLiLi55ln1G77iWxrTP5B-dHFbWLPCPhHIVRQ6KCH_mGxZts\n  key: admin-api.auth\n# other contents omitted...\n```\n\n```yaml\n# In jwk.yaml\nalg: RS256\ncreated_at: 1627551836\nd: oJP9r8semY_yVCbUPWjfcBQvJ3NgXIZ0JnB4TYbvckd6XbLED_s8gwBazmq88kqyVZneZ900xmcygkYckXlk8VysNm2GRHDY9n0ISbJCjpKoDI5zsx4JODoqNbSX5O1Jz3DsUCpCvdvoQU-LPcrnIDUn9Hq8oNPGqAA2O4SGbZ96qRaAImMVp6WzBeGmttrBHrGXa16Q2_qSOzhdokfYUn0D5Ejybxp7-wPlHYbF_npiTS3cWg103YqhBOFVow_NywxUf18UN9BLaMV1sSsVz4gTN2q8y8eYmHr6nrxzCW2YBvP_oNKtQhQ9lLZ3KbZ05sfWYQxZvniMPHdV2kcEAQ\ndp: 5pdEfAA3eSlOmcjXXl3zJa66JBHvWqloln7jtSgDPZH_-7CeRrtVFiJClD--aMKeB8oUL91wAAOaigsbsJn2Ps6gzkfgsZ1D8iTalZRL2wvqJichcwjbIFkfeeq71CPtlK1JQ2wocjZRmkjiG6-3SJtIp9g5TTzqXFLrUcO7C4E\ndq: bxKtRDrR71WF4en1TsjauNC63RBXl03yr-C5cIkxUpRWzT9O30i_1PDymruxceuw7oQSiKS9icB8Dy60ZtkFbzr95YbCsK_2KkFPV4a21pAbhWSH4hF6_okp6fXiw8_1Ms62GgIZ2bky5ZNHufXCbhAQ_ZaGEXmyQw1k2dwgWJE\ne: AQAB\nkid: 8fce2c32-0a96-4431-ba40-a7f068eed276\nkty: RSA\n\"n\": xIfD5TGAeMYr40hh7iASyIqZnRHNefrqn-3J8uDB85pnBXl_PRhAF4tqYCOL8n9X3yquwSjtJJAnXLsEh7m8Av2srTmGgG0Qur706_O-TBipgLW_GpvCOWxrjBvU52nXBdh4tbNBCbonV4ZwAo25pGIGgnhdmurnot2NDNhApWk85khab_2wGxxhJrsq4vTXyi4oXz5XkDXAa8wXMZPXyLkr5KAXMJo6TF1WKo3yqTf9Xm_ImOpobo_Q2YiN4oP5BCKjlxnDx_EYW6jG3K25ez2310IDoNj8VFN1Le2XTB1_ZC7JqPT8Xprd-mIqLWjGZlzxciW6Ct3gXtwXbDvhRQ\np: -NfOgiPhDE3DqmiYy7Wlp4kXgiEL0GLjv4T0NJ-lgsql9UukADWI2IhppeKN26ryBgUgNIweX6urYQUKXDSrp0uUgvuwA-c8rHaFznB0nIqXAOyiA7xx6-bxa06-AfjGDtVXEUOFejLags4mjD60IgmQ2F7mxdzGS_MdxZrEUME\nq: yi7Jz8OicYij_Qp9Qr0Wn2jVEQCSz7e3ZwKY91gYiw-uU_H6sy1qGRc7uXQZPSgmo5Kt3d2EJ-rhiXn0CYm29u4lmmJLbB_KCMGVLjQJMhPd6NlixEEqojOnDtEFKPJFIcmgcUEvuSVgUmjt3P_VBiHzwOntV67MWx-Y-vkMLYU\nqi: vLeBmXYV_Lz-s1T2a4RYR2uvuoysGAhKUAKznCxMl01DVbx2LwOcfqPdY0gK1BzAhMv9UC7vCYpQNkzyt_a0UVTRY-UGg45L_kf0PLBflc2PuOVsKNrkqHAO-zRSLiLi55ln1G77iWxrTP5B-dHFbWLPCPhHIVRQ6KCH_mGxZts\n```\n\n1. Run `make admin-api-token` to generate the Admin API token. You can set it as `ADMIN_API_TOKEN` in [Makefile](./Makefile).\n\n### Prepare other variables\n\n1. Open [Makefile](./Makefile)\n1. Set `ENDPOINT` to the endpoint of Authgear.\n1. Set `CLIENT_ID` to the client ID. You can find it in `authgear.yaml`.\n1. Follow [Prepare the Admin API token](#prepare-the-admin-api-token) to set up `ADMIN_API_TOKEN`.\n\n### Tweak load test parameters\n\n1. Open [Makefile](./Makefile)\n1. `VUS` represents the number of concurrent user in the test.\n1. `DURATION` is how long the test should run.\n\n## Run the test\n\nMake sure you follow [Preparation](#preparation) first.\n\nRun `make run` to run the test.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauthgear%2Fxk6-authgear","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fauthgear%2Fxk6-authgear","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauthgear%2Fxk6-authgear/lists"}