{"_id":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider","_rev":"2-fb4860d869eb371b3636552a65106fbc","name":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider","version":"0.1.0","keywords":["backstage","plugin","daytona","auth-module"],"license":"Apache-2.0","_id":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider@0.1.0","maintainers":[{"name":"adityasinghal26","email":"adityasinghal2608@gmail.com"}],"homepage":"https://github.com/adityasinghal26/daytona-backstage-plugins#readme","bugs":{"url":"https://github.com/adityasinghal26/daytona-backstage-plugins/issues"},"dist":{"shasum":"5a58abc8e5e08856befe6e2871670e4236ba71da","tarball":"https://registry.npmjs.org/@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider/-/backstage-plugin-auth-backend-module-daytona-provider-0.1.0.tgz","fileCount":5,"integrity":"sha512-TCWMVNbsmn14sfAxWRoCWQj3JaV0WisH42FDe6mi4rs59Ur1geG6wO6VBo5acRsEfapMNI/BY5f64ZT6tY5gtA==","signatures":[{"sig":"MEUCIQCHct8PlQSEkxVWP1RyxdNBGkgUuJ7eEAmNrV1l5pURIQIgFJU8N95KpEM0P4Di4I9O0ID/qNcG3KW9GH7gHvLtAcU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7187},"main":"src/index.ts","types":"src/index.ts","gitHead":"29dcb4f95ec62a2c3fc831e7ffa4eb55e52af52a","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"adityasinghal26","email":"adityasinghal2608@gmail.com"},"backstage":{"role":"backend-plugin-module"},"repository":{"url":"git+https://github.com/adityasinghal26/daytona-backstage-plugins.git","type":"git","directory":"plugins/auth-backend-module-daytona-provider"},"_npmVersion":"10.7.0","description":"The daytona-provider backend module for the auth plugin.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"@backstage/catalog-model":"^1.5.0","@backstage/backend-common":"^0.22.0","@backstage/plugin-auth-node":"^0.4.16","@backstage/backend-plugin-api":"^0.6.18","@backstage/plugin-auth-backend-module-oidc-provider":"^0.2.2"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@backstage/cli":"^0.26.5","@backstage/backend-test-utils":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/backstage-plugin-auth-backend-module-daytona-provider_0.1.0_1721619046581_0.6286970159556609","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider","version":"0.1.1","keywords":["backstage","plugin","daytona","auth-module"],"license":"Apache-2.0","_id":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider@0.1.1","maintainers":[{"name":"adityasinghal26","email":"adityasinghal2608@gmail.com"}],"homepage":"https://github.com/adityasinghal26/daytona-backstage-plugins#readme","bugs":{"url":"https://github.com/adityasinghal26/daytona-backstage-plugins/issues"},"dist":{"shasum":"910a4384889ab8808a5bb8ae528c6004d676b597","tarball":"https://registry.npmjs.org/@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider/-/backstage-plugin-auth-backend-module-daytona-provider-0.1.1.tgz","fileCount":5,"integrity":"sha512-MC16Crtbcp4EAz+Hg+w+DZWhJb/98oXGNGf8n+Q40wwshaZ7RrZ4PllycUZBXhROKF8IXtX56DCY/eRjpvR7yQ==","signatures":[{"sig":"MEUCIQCELywi5E41w4ygueHz9y/UGVOygOF6ZBeS5uzvl4q9EgIgCDKovrFPnkJUu82UVxhmhDe7pl7F8W7DWgloHw3wdOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9464},"main":"src/index.ts","types":"src/index.ts","gitHead":"77ffa021b87d6435d22976efb6f5e66f39541bd9","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"adityasinghal26","email":"adityasinghal2608@gmail.com"},"backstage":{"role":"backend-plugin-module"},"repository":{"url":"git+https://github.com/adityasinghal26/daytona-backstage-plugins.git","type":"git","directory":"plugins/auth-backend-module-daytona-provider"},"_npmVersion":"10.7.0","description":"The daytona-provider backend module for the auth plugin.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"@backstage/catalog-model":"^1.5.0","@backstage/backend-common":"^0.22.0","@backstage/plugin-auth-node":"^0.4.16","@backstage/backend-plugin-api":"^0.6.18","@backstage/plugin-auth-backend-module-oidc-provider":"^0.2.2"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@backstage/cli":"^0.26.5","@backstage/backend-test-utils":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/backstage-plugin-auth-backend-module-daytona-provider_0.1.1_1721661373045_0.6946280251434083","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider","description":"The daytona-provider backend module for the auth plugin.","version":"0.1.2","main":"src/index.ts","types":"src/index.ts","license":"Apache-2.0","publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin-module"},"repository":{"type":"git","url":"git+https://github.com/adityasinghal26/daytona-backstage-plugins.git","directory":"plugins/auth-backend-module-daytona-provider"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"dependencies":{"@backstage/backend-common":"^0.22.0","@backstage/backend-plugin-api":"^0.6.18","@backstage/catalog-model":"^1.5.0","@backstage/plugin-auth-backend-module-oidc-provider":"^0.2.2","@backstage/plugin-auth-node":"^0.4.16"},"devDependencies":{"@backstage/backend-test-utils":"^0.3.8","@backstage/cli":"^0.26.5"},"keywords":["backstage","plugin","daytona","auth-module"],"_id":"@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider@0.1.2","gitHead":"a32027a1c70b568c05269211bdeba707c3f25ae7","bugs":{"url":"https://github.com/adityasinghal26/daytona-backstage-plugins/issues"},"homepage":"https://github.com/adityasinghal26/daytona-backstage-plugins#readme","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-OSlYTQ+mlPvIUnM4xNshPJ8aU0t5BRErcyi1P2zuxwAazkFkWysOvsP1L6mnZscGVVPx4GNjAf/ZoaaYJpf+Ww==","shasum":"478e1a63d083d66cf6b354baff4859bfcbf8a8f6","tarball":"https://registry.npmjs.org/@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider/-/backstage-plugin-auth-backend-module-daytona-provider-0.1.2.tgz","fileCount":5,"unpackedSize":9680,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF2NRSJqxLuQajitbHbdgcgp4foqHLgPZT85eLgC51tMAiBoXCA/V1vFubXuDwcmr82HB9vUdiPnLjf6CWkmkVmVSg=="}]},"_npmUser":{"name":"adityasinghal26","email":"adityasinghal2608@gmail.com"},"directories":{},"maintainers":[{"name":"adityasinghal26","email":"adityasinghal2608@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-auth-backend-module-daytona-provider_0.1.2_1724159351727_0.4703861613526352"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-22T03:30:46.494Z","modified":"2024-08-20T13:09:12.098Z","0.1.0":"2024-07-22T03:30:46.709Z","0.1.1":"2024-07-22T15:16:13.189Z","0.1.2":"2024-08-20T13:09:11.894Z"},"bugs":{"url":"https://github.com/adityasinghal26/daytona-backstage-plugins/issues"},"license":"Apache-2.0","homepage":"https://github.com/adityasinghal26/daytona-backstage-plugins#readme","keywords":["backstage","plugin","daytona","auth-module"],"repository":{"type":"git","url":"git+https://github.com/adityasinghal26/daytona-backstage-plugins.git","directory":"plugins/auth-backend-module-daytona-provider"},"description":"The daytona-provider backend module for the auth plugin.","maintainers":[{"name":"adityasinghal26","email":"adityasinghal2608@gmail.com"}],"readme":"# @adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider\n\nThe daytona-provider backend module for the auth plugin.\n\n_This plugin was created through the Backstage CLI_\n\n## Description\n\nThe package provides Backstage module to implement authentication via `auth` plugin. It uses OIDC for authentication with Daytona Keycloak to directly authenticate the user from Daytona and login with any of the two common sign-in resolvers.\n\n- `emailMatchingUserEntityProfileEmail`: To match the user email with the Backstage user profile email\n- `emailLocalPartMatchingUserEntityName`: To match the local part of the user email with the Backstage user profile email. Suppose, if the user email is `example@daytonaio`, then a Backstage user profile with the name `example` must exist. Refer [examples/org.yaml](../../examples/org.yaml) for a test implementation.\n\n## Configuration\n\nThe Daytona module configuration will be under `auth` in `app-config.yaml` as below.\n\n```yaml\nauth:\n  session:\n    secret: dummy\n  environment: production\n  # see https://backstage.io/docs/auth/ to learn about auth providers\n  providers:\n    # See https://backstage.io/docs/auth/guest/provider\n    daytona:\n      production:\n        clientId: <daytona-client-id>\n        clientSecret: <daytona-client-secret>\n        metadataUrl: https://id.<your-daytona-domain>/realms/default/.well-known/openid-configuration\n        prompt: auto\n        signIn:\n          resolvers:\n            - resolver: emailLocalPartMatchingUserEntityName\n```\n\nIn the above configuration, below are the options need to be handled.\n- `auth.session.secret` must be provided as required in Backstage authentication.\n- add `daytona` under the `auth.providers` section, where multiple environments can be configured and then referred in `auth.environment`.\n- add your Daytona Backstage client ID and secret. If you're using the provided `backstage.json`, then your client ID will be `backstage` in `default` realm and secret can be fetched by logging to `https://id.<your-daytona-domain>`.\n- sign-in resolvers can be as provided, either `emailMatchingUserEntityProfileEmail` or `emailLocalPartMatchingUserEntityName`.\n\n## Installation and Setup\n\nThe plugin can be installed by running the below command in Backstage root directory and later, adding the following in your Backstage backend.\n\n```sh\n# From your Backstage root directory\nyarn --cwd packages/backend add @adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider\n```\n\n```ts\n// In packages/backend/src/index.ts\n\n// Add the Daytona auth plugin provider\nbackend.add(import('@adityasinghal26/backstage-plugin-auth-backend-module-daytona-provider'));\n```\n","readmeFilename":"README.md"}