{"_id":"@daytonaio/backstage-plugin-auth-backend-module-daytona-provider","_rev":"3-516418821674b32c8970223b7fb0c4b9","name":"@daytonaio/backstage-plugin-auth-backend-module-daytona-provider","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.3":{"name":"@daytonaio/backstage-plugin-auth-backend-module-daytona-provider","version":"0.1.3","keywords":["backstage","plugin","daytona","auth-module"],"license":"Apache-2.0","_id":"@daytonaio/backstage-plugin-auth-backend-module-daytona-provider@0.1.3","maintainers":[{"name":"zzorica","email":"zzorica@daytona.io"},{"name":"gdraganic","email":"gogi.strat@gmail.com"}],"dist":{"shasum":"dfaa498294a08b04b40b96db1766a9c2074e4071","tarball":"https://registry.npmjs.org/@daytonaio/backstage-plugin-auth-backend-module-daytona-provider/-/backstage-plugin-auth-backend-module-daytona-provider-0.1.3.tgz","fileCount":6,"integrity":"sha512-lKxgMq8fPsh7sEswyaNEhS26aUuy6pDvxNlxpbpL0t0fZUy/cHQ5pH86ovmizVyti4Bk3Ch3kloP4SpMV26MtQ==","signatures":[{"sig":"MEQCIEGN30JxC2Pnq37y9rkjbUg88FGv4AQwqBr7t3xTceB4AiBJeVwRpb3NUMi1493AnXCv+QFCZLMUJweRXse/GIPK+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4841},"main":"src/index.ts","types":"src/index.ts","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":"zzorica","email":"zzorica@daytona.io"},"backstage":{"role":"backend-plugin-module"},"repository":{"url":"https://github.com/daytonaio/backstage-plugins","type":"git","directory":"plugins/auth-backend-module-daytona-provider"},"description":"The daytona-provider backend module for the auth plugin.","directories":{},"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.3_1725872295669_0.46902143511069827","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@daytonaio/backstage-plugin-auth-backend-module-daytona-provider","version":"0.1.4","keywords":["backstage","plugin","daytona","auth-module"],"license":"Apache-2.0","_id":"@daytonaio/backstage-plugin-auth-backend-module-daytona-provider@0.1.4","maintainers":[{"name":"zzorica","email":"zzorica@daytona.io"},{"name":"gdraganic","email":"gogi.strat@gmail.com"}],"dist":{"shasum":"2d4d4d27ce3a72632716da7bf4a2357331ced3ad","tarball":"https://registry.npmjs.org/@daytonaio/backstage-plugin-auth-backend-module-daytona-provider/-/backstage-plugin-auth-backend-module-daytona-provider-0.1.4.tgz","fileCount":10,"integrity":"sha512-rAhGzSuJwTTRT6yNW/pExexFMX78WX53q4HsvqgFSFJs6VA0rmo40bL4Zo5by+kItl5Epjbf5lEewTzl22lptA==","signatures":[{"sig":"MEQCIHkmzHE+UjKBZnB/c2qyRKAAVfAXe+zvmHUX+HW7ly5RAiBJ5hEm6RowBBudemmlX+JWW3/CZ6Jxdav0gdD/o4a63g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10460},"main":"src/index.ts","types":"src/index.ts","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":"zzorica","email":"zzorica@daytona.io"},"backstage":{"role":"backend-plugin-module"},"repository":{"url":"https://github.com/daytonaio/backstage-plugins","type":"git","directory":"plugins/auth-backend-module-daytona-provider"},"description":"The daytona-provider backend module for the auth plugin.","directories":{},"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.4_1725982359781_0.3551048080570982","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-09-09T08:58:15.552Z","modified":"2025-03-04T07:45:12.443Z","0.1.3":"2024-09-09T08:58:15.813Z","0.1.4":"2024-09-10T15:32:39.970Z"},"license":"Apache-2.0","keywords":["backstage","plugin","daytona","auth-module"],"repository":{"url":"https://github.com/daytonaio/backstage-plugins","type":"git","directory":"plugins/auth-backend-module-daytona-provider"},"description":"The daytona-provider backend module for the auth plugin.","maintainers":[{"email":"gogi.strat@gmail.com","name":"gdraganic"},{"email":"zzorica@daytona.io","name":"zzorica"},{"email":"vedran.jukic@gmail.com","name":"vedran.jukic"},{"email":"mirkodzaja0@gmail.com","name":"mdzaja"}],"readme":"# @daytonaio/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 @daytonaio/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('@daytonaio/backstage-plugin-auth-backend-module-daytona-provider'));\n```\n","readmeFilename":"README.md"}