{"_id":"@daytona-io/backstage-plugin-auth-backend-module-daytona-provider","_rev":"1-26d48e63c36812e3774061a146bfadd6","name":"@daytona-io/backstage-plugin-auth-backend-module-daytona-provider","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.2":{"name":"@daytona-io/backstage-plugin-auth-backend-module-daytona-provider","version":"0.1.2","keywords":["backstage","plugin","daytona","auth-module"],"license":"Apache-2.0","_id":"@daytona-io/backstage-plugin-auth-backend-module-daytona-provider@0.1.2","maintainers":[{"name":"zzorica","email":"zzorica@daytona.io"}],"dist":{"shasum":"a28fff52daa1c3186111331b3fb10e418160f840","tarball":"https://registry.npmjs.org/@daytona-io/backstage-plugin-auth-backend-module-daytona-provider/-/backstage-plugin-auth-backend-module-daytona-provider-0.1.2.tgz","fileCount":6,"integrity":"sha512-cAQbvkMIaa5obh1doHS+BIzHZCC+ZCunbsOttCMDSaZXECuw4IJHEyi+dpGJjq3nZ3adlq90OUNodGgwJ7VYDA==","signatures":[{"sig":"MEUCIQDA6j51pIrzf07LCOWyR36xROtarLkvfRevYEWwbfGz+gIgaYr+HFtskvrxBhasKIuMO6vZj1br1giX70d5cyYZj3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4753},"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.2_1725747603137_0.9326114105935881","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@daytona-io/backstage-plugin-auth-backend-module-daytona-provider","version":"0.1.3","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":"https://github.com/daytonaio/backstage-plugins","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"],"description":"The daytona-provider backend module for the auth plugin.","_id":"@daytona-io/backstage-plugin-auth-backend-module-daytona-provider@0.1.3","dist":{"shasum":"52b2001f1e02cb8018eb05e67f5e83ad4625439c","integrity":"sha512-wGg3OKAkfwhsQm9NoCC/6+Ki0BsofoBtrlUUcWYGNvBm5psBMVDzX8CND/nJ4iy3EPPBikzC0i7sFRxO/QVC+Q==","tarball":"https://registry.npmjs.org/@daytona-io/backstage-plugin-auth-backend-module-daytona-provider/-/backstage-plugin-auth-backend-module-daytona-provider-0.1.3.tgz","fileCount":6,"unpackedSize":4847,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD556q22tHASny5t41vREEKBqHSEHKSpqA4QPuH/D98ywIgQFOHJE25lOGwvBdXIqPWJ5G4pQhw3sEuAFXTCb765BI="}]},"_npmUser":{"name":"zzorica","email":"zzorica@daytona.io"},"directories":{},"maintainers":[{"name":"zzorica","email":"zzorica@daytona.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-auth-backend-module-daytona-provider_0.1.3_1725793129621_0.33204352040321017"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-07T22:20:02.839Z","modified":"2024-09-08T10:58:49.953Z","0.1.2":"2024-09-07T22:20:03.294Z","0.1.3":"2024-09-08T10:58:49.781Z"},"license":"Apache-2.0","keywords":["backstage","plugin","daytona","auth-module"],"repository":{"type":"git","url":"https://github.com/daytonaio/backstage-plugins","directory":"plugins/auth-backend-module-daytona-provider"},"description":"The daytona-provider backend module for the auth plugin.","maintainers":[{"name":"zzorica","email":"zzorica@daytona.io"}],"readme":"# @daytona-io/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 @daytona-io/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('@daytona-io/backstage-plugin-auth-backend-module-daytona-provider'));\n```\n","readmeFilename":"README.md"}