{"id":18724664,"url":"https://github.com/digital-blueprint/webapppassword","last_synced_at":"2026-02-04T11:27:42.319Z","repository":{"id":41178022,"uuid":"285494797","full_name":"digital-blueprint/webapppassword","owner":"digital-blueprint","description":"Nextcloud app to generate temporary app passwords and allow webdav access for SPAs","archived":false,"fork":false,"pushed_at":"2024-04-08T04:06:28.000Z","size":3861,"stargazers_count":16,"open_issues_count":9,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-08T05:23:02.994Z","etag":null,"topics":["cors","dbp","digital-blueprint","nextcloud","nextcloud-app","php","webdav"],"latest_commit_sha":null,"homepage":"https://gitlab.tugraz.at/dbp/nextcloud/webapppassword","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digital-blueprint.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2020-08-06T06:44:13.000Z","updated_at":"2024-06-19T07:40:20.919Z","dependencies_parsed_at":"2024-02-05T05:31:32.107Z","dependency_job_id":"cd80fcdd-2df5-46f7-a895-433ee8f9e4db","html_url":"https://github.com/digital-blueprint/webapppassword","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fwebapppassword","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fwebapppassword/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fwebapppassword/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fwebapppassword/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digital-blueprint","download_url":"https://codeload.github.com/digital-blueprint/webapppassword/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223527807,"owners_count":17160091,"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":["cors","dbp","digital-blueprint","nextcloud","nextcloud-app","php","webdav"],"created_at":"2024-11-07T14:07:26.938Z","updated_at":"2026-02-04T11:27:37.269Z","avatar_url":"https://github.com/digital-blueprint.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# [WebAppPassword](https://github.com/digital-blueprint/webapppassword)\n\n[Nextcloud App Store](https://apps.nextcloud.com/apps/webapppassword) |\n[Releases](https://github.com/digital-blueprint/webapppassword/releases) |\n[Old releases](https://gitlab.tugraz.at/dbp/nextcloud/webapppassword/-/releases) |\n[Changelog](https://github.com/digital-blueprint/webapppassword/blob/main/CHANGELOG.md) |\n[Report issues](https://github.com/digital-blueprint/webapppassword/issues)\n\n[![Test](https://github.com/digital-blueprint/webapppassword/actions/workflows/test.yml/badge.svg)](https://github.com/digital-blueprint/webapppassword/actions/workflows/test.yml)\n\nThis is a Nextcloud app to generate a temporary app password and set CORS headers to allow\nWebDAV/CalDAV, Share API and Preview access from inside a webpage.\n\nPlace this app in **nextcloud/apps/** or install it from the [Nextcloud App Store](https://apps.nextcloud.com/apps/webapppassword).\n\n## Configuration\n\nYou can configure the allowed origins for both WebDAV/CalDAV or files sharing api on the settings\npage of the application.\n\n![screenshot](screenshot.png)\n\nAlternatively you can also add this setting to your `config/config.php`\n(it will be used if the origins setting on the settings page are empty).\n\n`'webapppassword.origins' =\u003e ['https://example.com'],` - array of allowed webdav/caldav origins\n\nThe setting is both used for the origin of the CORS headers for the WebDAV/CalDAV requests and\nfor the referrer check whether we want to generate a temporary app password.\n\nAlso, you can configure in the same way the files sharing part.\n\n`'webapppassword.files_sharing_origins' =\u003e ['https://example.com'],` - array of allowed files sharing api origins\n\nUnder the hood it exposes parts of the sharing api (CRUD and the preflight OPTIONS endpoint) in this url:\n`https://example.com/index.php/apps/webapppassword/api/v1/shares`\n\nAlso, you can configure in the same way the files preview part.\n\n`'webapppassword.preview_origins' =\u003e ['https://example.com'],` - array of allowed preview api origins\n\nUnder the hood it exposes parts of the preview api (get and the preflight OPTIONS endpoint) in this url:\n`https://example.com/index.php/apps/webapppassword/core/preview`\n\n## Docker\n\nYou can use this container for development and testing of the application.\n\n```bash\ncd docker\ndocker compose build\ndocker compose up\n```\n\n- \u003chttp://localhost:8081\u003e admin/admin\n- (first time only) For the origin config see `WEBPASSWORD_ORIGINS` in docker-compose.yml\n\n## Example\n\nYou can start a php server with `cd docs/example \u0026\u0026 php -S localhost:8082` to see an example\npage on \u003chttp://localhost:8082/\u003e.\n\nIf you have started the docker container you can log in to your Nextcloud container with `admin`/`admin` and\nreceive a temporary app password for your user.\n\nThere also is the `FileSource` component of our [Nextcloud file picker](https://github.com/digital-blueprint/toolkit/tree/main/packages/file-handling)\nin the example.\n\n![screenshot](screenshot-filepicker.png)\n\nTake a look at [index.html](docs/example/index.html) for the source code of the page.\n\n![screenshot](screenshot-webdav.png)\n\n## Running tests\n\nYou can use the provided Makefile to run all tests by using:\n\n```bash\ncd docker \u0026\u0026 make test\n```\n\n## Generate translation\n\nYou will need the [translationtool](https://github.com/nextcloud/docker-ci/tree/master/translations/translationtool)\nto generate the translation files for all languages.\n\n```bash\nphp /path/to/translationtool.phar convert-po-files\n```\n\nSee: [Manual translation](https://docs.nextcloud.com/server/19/developer_manual/app/view/l10n.html#manual-translation)\n\n## References\n\nThis Nextcloud application is used in the\n[NextcloudFilePicker]https://github.com/digital-blueprint/toolkit/blob/main/packages/file-handling/src/nextcloud-file-picker.js)\nweb component to generate temporary app passwords and to allow WebDAV-access from\ninside the web browser.\n\n---\n\nThis project is tested with BrowserStack.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-blueprint%2Fwebapppassword","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigital-blueprint%2Fwebapppassword","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-blueprint%2Fwebapppassword/lists"}