{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":185417257,"defaultBranch":"main","name":"egi-notebooks-hub","ownerLogin":"EGI-Federation","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-05-07T14:21:22.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/24547948?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726240693.0","currentOid":""},"activityList":{"items":[{"before":"857a93e86b9fd6c0cf952135ad84cb121ebf462e","after":"726e85de808ca7b55d88a1e2f4e730f646c963cb","ref":"refs/heads/main","pushedAt":"2024-09-23T06:23:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Improve regex for personal projects (#135)\n\n* Improve regex for personal projects\r\n\r\n* Improve regex","shortMessageHtmlLink":"Improve regex for personal projects (#135)"}},{"before":"c8ceaaafc993d2a6f1d4383f2caeb2d4d56b66c1","after":"857a93e86b9fd6c0cf952135ad84cb121ebf462e","ref":"refs/heads/main","pushedAt":"2024-09-19T07:33:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Add templates (#134)\n\n* Downgrade hub\r\n\r\n* Adapt to hub 4.x\r\n\r\n* Fix indent\r\n\r\n* Add admin template\r\n\r\n* Linting fixes\r\n\r\n* Add some padding to make footer fixed\r\n\r\n* Fix footer, next attempt\r\n\r\nUsing solution from https://stackoverflow.com/a/62009670\r\n\r\n* Fix announcement","shortMessageHtmlLink":"Add templates (#134)"}},{"before":"79bc4cf34581c25795466ab2706a5cecd371de46","after":null,"ref":"refs/heads/eosc-error","pushedAt":"2024-09-13T15:18:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"}},{"before":"999cef718fdb70817f2db8aa0f4e7ead440c4210","after":"c8ceaaafc993d2a6f1d4383f2caeb2d4d56b66c1","ref":"refs/heads/main","pushedAt":"2024-09-13T15:18:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Avoid using \"error\" and \"ecl-container\" together (#133)","shortMessageHtmlLink":"Avoid using \"error\" and \"ecl-container\" together (#133)"}},{"before":null,"after":"79bc4cf34581c25795466ab2706a5cecd371de46","ref":"refs/heads/eosc-error","pushedAt":"2024-09-13T15:10:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Avoid using \"error\" and \"ecl-container\" together","shortMessageHtmlLink":"Avoid using \"error\" and \"ecl-container\" together"}},{"before":"01c52a49326faf44ec659c74ce4b54b3308f49c8","after":null,"ref":"refs/heads/ec-style-fixes","pushedAt":"2024-09-13T12:03:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"}},{"before":"d56dd6bef5443aa8872d3801eae45d4b0b26d9d6","after":"999cef718fdb70817f2db8aa0f4e7ead440c4210","ref":"refs/heads/main","pushedAt":"2024-09-13T12:03:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"ec style fixes (#132)\n\n* Fix admin menu\r\n\r\n* Fix the 40x errors\r\n\r\n* Improved spacing\r\n\r\n* Do not depend on external image","shortMessageHtmlLink":"ec style fixes (#132)"}},{"before":"a2aedcf64cb53c7cae8aae5b44b7812863aab060","after":"01c52a49326faf44ec659c74ce4b54b3308f49c8","ref":"refs/heads/ec-style-fixes","pushedAt":"2024-09-13T11:03:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Do not depend on external image","shortMessageHtmlLink":"Do not depend on external image"}},{"before":"5ad169ed0d76c644cd5e6683c0494fc3444a735c","after":"a2aedcf64cb53c7cae8aae5b44b7812863aab060","ref":"refs/heads/ec-style-fixes","pushedAt":"2024-09-13T10:38:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Improved spacing","shortMessageHtmlLink":"Improved spacing"}},{"before":null,"after":"5ad169ed0d76c644cd5e6683c0494fc3444a735c","ref":"refs/heads/ec-style-fixes","pushedAt":"2024-09-13T10:36:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Fix the 40x errors","shortMessageHtmlLink":"Fix the 40x errors"}},{"before":"bebde368641489f2df04a23920ce001d71dd0829","after":"d56dd6bef5443aa8872d3801eae45d4b0b26d9d6","ref":"refs/heads/main","pushedAt":"2024-09-13T09:40:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"ec style (#131)\n\n* Update hub to >5.0.0\r\n\r\nThis brings recent bootstrap\r\n\r\n* Europa Component Library files\r\n\r\nTaken from https://github.com/ec-europa/europa-component-library\r\nRelease v4.6.3\r\n\r\n* EOSC Node templates\r\n\r\n* Do not lint ec files\r\n\r\n* Linting fixes\r\n\r\n* Do not consider scaped chars for jinja\r\n\r\n* Do not prettier html\r\n\r\n* Remove not needed files","shortMessageHtmlLink":"ec style (#131)"}},{"before":"72515b1e6148c1acd2e4bb615905545e11329b22","after":"bebde368641489f2df04a23920ce001d71dd0829","ref":"refs/heads/main","pushedAt":"2024-09-11T11:54:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"valtri","name":"František Dvořák","path":"/valtri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1586250?s=80&v=4"},"commit":{"message":"Enforce refresh token clean-up (#130)\n\n* Enforce refresh token clean-up\r\n\r\nAlso do not try to refresh if the access token is still valid\r\n\r\n* Add some docstring\r\n\r\n* Linting\r\n\r\n* Update requirements\r\n\r\n* Avoid oauthenticator 17","shortMessageHtmlLink":"Enforce refresh token clean-up (#130)"}},{"before":"71a8524856b31b437c14d6b3b108ccb6b7aa3b4c","after":null,"ref":"refs/heads/dependabot/github_actions/github/super-linter-7","pushedAt":"2024-09-09T09:06:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"ae769eb7c26f1e68d66f55f6d375958696bee272","after":"72515b1e6148c1acd2e4bb615905545e11329b22","ref":"refs/heads/main","pushedAt":"2024-09-09T09:06:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Bump github/super-linter from 6 to 7 (#129)\n\nBumps [github/super-linter](https://github.com/github/super-linter) from 6 to 7.\r\n- [Release notes](https://github.com/github/super-linter/releases)\r\n- [Changelog](https://github.com/github/super-linter/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/github/super-linter/compare/v6...v7)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: github/super-linter\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump github/super-linter from 6 to 7 (#129)"}},{"before":null,"after":"71a8524856b31b437c14d6b3b108ccb6b7aa3b4c","ref":"refs/heads/dependabot/github_actions/github/super-linter-7","pushedAt":"2024-08-30T17:57:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump github/super-linter from 6 to 7\n\nBumps [github/super-linter](https://github.com/github/super-linter) from 6 to 7.\n- [Release notes](https://github.com/github/super-linter/releases)\n- [Changelog](https://github.com/github/super-linter/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/super-linter/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: github/super-linter\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump github/super-linter from 6 to 7"}},{"before":"5900c2a7dab3b3d96a2963b9e30ce0937ffc6b37","after":"ae769eb7c26f1e68d66f55f6d375958696bee272","ref":"refs/heads/main","pushedAt":"2024-08-22T12:00:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Do not let us guess the primary group (#127)","shortMessageHtmlLink":"Do not let us guess the primary group (#127)"}},{"before":"f324c36f2885794a21e5da375cd03d748df0e714","after":"5900c2a7dab3b3d96a2963b9e30ce0937ffc6b37","ref":"refs/heads/main","pushedAt":"2024-08-20T14:22:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"valtri","name":"František Dvořák","path":"/valtri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1586250?s=80&v=4"},"commit":{"message":"Fix profile filter (#125)\n\n* Need newer oauthenticator\r\n\r\n* Make use of the groups\r\n\r\n* Better filter\r\n\r\n* Fix call to get primary group","shortMessageHtmlLink":"Fix profile filter (#125)"}},{"before":"323c75ed8ee8469d8a9ee7c5e55388bb9973e5b4","after":"f324c36f2885794a21e5da375cd03d748df0e714","ref":"refs/heads/main","pushedAt":"2024-08-01T06:47:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Add version to the package (#124)\n\n* Add version to the package\r\n\r\n* Play better with the configuration","shortMessageHtmlLink":"Add version to the package (#124)"}},{"before":"77836cb675f8a03bc90f1d42e7567af438d28705","after":"323c75ed8ee8469d8a9ee7c5e55388bb9973e5b4","ref":"refs/heads/main","pushedAt":"2024-07-18T12:05:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Token exchange to get refresh token (#123)\n\n* Add refresh token from exchange\r\n\r\n* Find the right path all times\r\n\r\n* Fix the token exchange\r\n\r\n* Add some debugging\r\n\r\n* Add the subject token type\r\n\r\n* Show the response error if available\r\n\r\n* Cache last used token\r\n\r\n* Do not print\r\n\r\n* Access is refresh, refresh is access\r\n\r\nEOSC AAI decided to return the refresh token in the access token field\r\n\r\n* Reuse existing code from jupyterhub\r\n\r\n* Make sure token is still good\r\n\r\n* Sort imports\r\n\r\n* Adjust the Personal Project re","shortMessageHtmlLink":"Token exchange to get refresh token (#123)"}},{"before":"a81a014c9810f12e3a477c493bcdecb0abbdaf58","after":"77836cb675f8a03bc90f1d42e7567af438d28705","ref":"refs/heads/main","pushedAt":"2024-07-15T07:00:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"EOSC Node AAI (#121)\n\n* Avoid error 500 when context is not available\r\n\r\nInstead show a 403 error, that looks better\r\n\r\n* Add support for EOSC Node group management\r\n\r\nFilter groups based on a regular expression for matching the personal\r\nprojects of EOSC Node AAI\r\n\r\n* Improve implementation\r\n\r\n* Linting\r\n\r\n* Line length\r\n\r\n* Add class to entry points\r\n\r\n* Fix indent\r\n\r\n* Remove non relevant comment\r\n\r\n* Disable pylint\r\n\r\n* Set the name of the login_service\r\n\r\n* Linter","shortMessageHtmlLink":"EOSC Node AAI (#121)"}},{"before":"f7ff823fbef44437a65ad0a4faf07d89db52ee6f","after":"a81a014c9810f12e3a477c493bcdecb0abbdaf58","ref":"refs/heads/main","pushedAt":"2024-07-08T10:36:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"jwt settings (#122)\n\n* Avoid error 500 when context is not available\r\n\r\nInstead show a 403 error, that looks better\r\n\r\n* Make the service configurable\r\n\r\n* Add some logging\r\n\r\n* Fix token refresh\r\n\r\n* Broken code somehow\r\n\r\n* Disable pylint","shortMessageHtmlLink":"jwt settings (#122)"}},{"before":"9b41726ef2704d97c4c8df7dcc7cf93d819340b1","after":"f7ff823fbef44437a65ad0a4faf07d89db52ee6f","ref":"refs/heads/main","pushedAt":"2024-06-20T13:33:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"GKE improvements for D4science (#117)\n\n* Avoid error 500 when context is not available\r\n\r\nInstead show a 403 error, that looks better\r\n\r\n* Add namespaces as option to spawner\r\n\r\n* Add image override option to spawner\r\n\r\n* Remove tornado setting from the spawner\r\n\r\nInstead of using complicated options in the tornado settings that are\r\nharder to express with the latest Jupyter versions, use the ingress\r\nsettings to set the headers for every requests. This will also ensure\r\nthat we don't forget some random page or sub-service from having the\r\ncorrect headers\r\n\r\n* Add label as authentication option\r\n\r\nThese are passed to the spawner so they can be reflected in the\r\nKubernetes objects accordingly\r\n\r\n* Linting\r\n\r\n* Fix method\r\n\r\n* Disable pylint just for one line\r\n\r\n* Fix method name","shortMessageHtmlLink":"GKE improvements for D4science (#117)"}},{"before":"a912e4b4395f0c41e6ffedc493d33e90e66194bb","after":null,"ref":"refs/heads/dependabot/github_actions/github/super-linter-6","pushedAt":"2024-06-20T12:05:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"}},{"before":"d57397ddafcf9eecd0aa80512640cc42b904581d","after":"9b41726ef2704d97c4c8df7dcc7cf93d819340b1","ref":"refs/heads/main","pushedAt":"2024-06-20T12:05:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Bump github/super-linter from 5 to 6 (#118)\n\n* Bump github/super-linter from 5 to 6\r\n\r\nBumps [github/super-linter](https://github.com/github/super-linter) from 5 to 6.\r\n- [Release notes](https://github.com/github/super-linter/releases)\r\n- [Changelog](https://github.com/github/super-linter/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/github/super-linter/compare/v5...v6)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: github/super-linter\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\n\r\n* Fix CKV2_GHA_1 issue\r\n\r\n* Add healthcheck to dockerfile\r\n\r\nAlthough I'm not sure this will be ever used\r\n\r\n---------\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\r\nCo-authored-by: Enol Fernandez ","shortMessageHtmlLink":"Bump github/super-linter from 5 to 6 (#118)"}},{"before":"54ff968734fed7fb6073c5fed846914532b99e5e","after":"a912e4b4395f0c41e6ffedc493d33e90e66194bb","ref":"refs/heads/dependabot/github_actions/github/super-linter-6","pushedAt":"2024-06-20T12:02:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Add healthcheck to dockerfile\n\nAlthough I'm not sure this will be ever used","shortMessageHtmlLink":"Add healthcheck to dockerfile"}},{"before":"ee7c57471c7a9ed9930360c77df6bf03c26896a5","after":"54ff968734fed7fb6073c5fed846914532b99e5e","ref":"refs/heads/dependabot/github_actions/github/super-linter-6","pushedAt":"2024-06-20T11:35:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Fix CKV2_GHA_1 issue","shortMessageHtmlLink":"Fix CKV2_GHA_1 issue"}},{"before":"d7c4a0f0bfe28dc32f38606b973bc87d2bbf0586","after":null,"ref":"refs/heads/dependabot/github_actions/docker/build-push-action-6","pushedAt":"2024-06-18T08:03:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"bf013094041d66bd04bda2ec6c829b17377fdc38","after":"d57397ddafcf9eecd0aa80512640cc42b904581d","ref":"refs/heads/main","pushedAt":"2024-06-18T08:02:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"Bump docker/build-push-action from 5 to 6 (#120)\n\nBumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.\r\n- [Release notes](https://github.com/docker/build-push-action/releases)\r\n- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: docker/build-push-action\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump docker/build-push-action from 5 to 6 (#120)"}},{"before":null,"after":"d7c4a0f0bfe28dc32f38606b973bc87d2bbf0586","ref":"refs/heads/dependabot/github_actions/docker/build-push-action-6","pushedAt":"2024-06-17T17:36:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump docker/build-push-action from 5 to 6\n\nBumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.\n- [Release notes](https://github.com/docker/build-push-action/releases)\n- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: docker/build-push-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump docker/build-push-action from 5 to 6"}},{"before":"db306575d0ccbd74a63cc9329d86c63a689275c8","after":"bf013094041d66bd04bda2ec6c829b17377fdc38","ref":"refs/heads/main","pushedAt":"2024-06-14T07:57:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enolfc","name":"Enol Fernández","path":"/enolfc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1422438?s=80&v=4"},"commit":{"message":"jwt (#119)\n\n* Initial attempt to get JWT authentication\r\n\r\n* Getting to read the token\r\n\r\n* Getting closer\r\n\r\n* Just linting\r\n\r\n* JWT authentication improvements\r\n\r\n* An attempt to wrap the API with JWT\r\n\r\nLots of hardcoded stuff and assumptions, but works as expected. It can\r\nbe run as a service with a config like this\r\n```\r\nc.JupyterHub.load_roles = [\r\n {\r\n \"name\": \"jwt\",\r\n \"scopes\": [\r\n \"read:users:activity\", # read user last_activity\r\n \"servers\", # start and stop servers\r\n \"admin:users\", # needed if culling idle users as well\r\n ],\r\n },\r\n {\r\n \"name\": \"user\",\r\n \"scopes\": [\"access:services\", \"self\"],\r\n },\r\n]\r\n\r\nc.JupyterHub.services = [\r\n {\r\n \"name\": \"jwt\",\r\n \"url\": \"http://localhost:1984/\",\r\n # any secret >8 characters, you'll use api_token to\r\n # authenticate api requests to the hub from your service\r\n \"api_token\": \"super-secret\",\r\n }\r\n]\r\n```\r\n\r\nand then start the service:\r\n```\r\nfastapi dev --port 1984 api_wrapper.py\r\n```\r\n\r\n* Improve linting\r\n\r\n* Removed unneeded function\r\n\r\n* Generalise for all HTTP methods\r\n\r\n* Raise 403 when appropriate\r\n\r\n* Better error handling\r\n\r\n* Adjust the duration of tokens\r\n\r\nAlso remove some unneeded code\r\n\r\n* Remove dangling code\r\n\r\n* Add fastapi as requirement","shortMessageHtmlLink":"jwt (#119)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwNjoyMzozNi4wMDAwMDBazwAAAAS9mgzW","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwNjoyMzozNi4wMDAwMDBazwAAAAS9mgzW","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xNFQwNzo1NzozOS4wMDAwMDBazwAAAARlNW0M"}},"title":"Activity · EGI-Federation/egi-notebooks-hub"}