{"id":25209862,"url":"https://github.com/backdrop-contrib/tca","last_synced_at":"2025-10-25T09:31:43.749Z","repository":{"id":251992034,"uuid":"839069424","full_name":"backdrop-contrib/tca","owner":"backdrop-contrib","description":"Grant access to content using a URL access token on your Backdrop CMS website","archived":false,"fork":false,"pushed_at":"2024-08-15T19:45:36.000Z","size":23,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":8,"default_branch":"1.x-1.x","last_synced_at":"2024-08-15T21:44:00.680Z","etag":null,"topics":["access","access-control","backdrop","backdropcms","cms","content","token","tokens"],"latest_commit_sha":null,"homepage":"https://backdropcms.org/project/tca","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/backdrop-contrib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"publiccode":null,"codemeta":null}},"created_at":"2024-08-06T22:56:59.000Z","updated_at":"2024-08-15T19:43:47.000Z","dependencies_parsed_at":"2024-08-15T21:43:11.071Z","dependency_job_id":null,"html_url":"https://github.com/backdrop-contrib/tca","commit_stats":null,"previous_names":["backdrop-contrib/tca"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backdrop-contrib%2Ftca","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backdrop-contrib%2Ftca/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backdrop-contrib%2Ftca/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backdrop-contrib%2Ftca/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/backdrop-contrib","download_url":"https://codeload.github.com/backdrop-contrib/tca/tar.gz/refs/heads/1.x-1.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238117361,"owners_count":19419223,"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":["access","access-control","backdrop","backdropcms","cms","content","token","tokens"],"created_at":"2025-02-10T13:18:45.622Z","updated_at":"2025-10-25T09:31:43.744Z","avatar_url":"https://github.com/backdrop-contrib.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Token Content Access\n\u003c!--\nThe first paragraph of this file should be kept short as it will be used as the\nproject summary on BackdropCMS.org. Aim for about 240 characters (three lines at\n80 characters each).\n\nAll lines in this file should be no more than 80 characters long for legibility,\nunless including a URL or example that requires the line to not wrap.\n|\u003c- - - - - - - This line is exactly 80 characters for reference - - - - - - -\u003e|\n\nDetail in READMEs should be limited to the minimum required for installation and\ngetting started. More detailed documentation should be moved to a GitHub wiki\npage; for example: https://github.com/backdrop-contrib/setup/wiki/Documentation.\n--\u003e\nToken Content Access allows you to restrict access to individual entities using\nmanually set or unique generated tokens. In order to view protected entities,\nusers must provide a matching token via the URL.\n\nThis allows entities to be published and viewable to anonymous users (for\ninstance with a special link from an email campaign) but not visible to the\npublic at large.\n\nViews can also be protected using a token; for Views Page display, then access\nis denied, but for other display types, the rows are removed so it returns an\nempty result.\n\nPermissions are provided to administer the module and each entity based module\nand to bypass the protection for all entities in that module and for bundles\n(e.g. Content Types for Token Content Access Nodes).\n\n## Submodule(s)\n### Token Content Access Nodes\nNode protection is available in the included Token Content Access Nodes\n(`tca_node`) submodule and this can be used as a model to extend to other\nentities such as taxonomy terms, users, files and custom entities. It protects\naccess to the node view page and also removes from Views, though that can be\noverridden on particular Views Displays.  The token and protection status are\navailable to include in a View, which supports both the use of contextual\nfilters and being able to display the URL with token so an authorised user can\ncopy it to share.\n\nThis module is designed with performance in mind, so it doesn't use traditional\nsolutions like node grants. This also means that it's not guaranteed to block\naccess in all situations, for instance, if you expose node content via means\nother than Views such as using the \"Existing content\" block in a layout or\nin an Entity Reference field.\n\n## Differences from Drupal 7\n- Support token and TCA status in Views\n- Include an override in Views displays to include protected nodes in a\ndisplay.\n- Support protection of Views.\n- Add bypass permissions per bundle (e.g. per Content Type for Nodes) and for\nViews.\n- Allow token usage to be enforced per bundle\n- Allow token to be overriden manually so you can set the same as another\nentity.\n- Allow parameter key to be configured for the site and per bundle and View.\n- Store the token in the session so user can access other nodes or Views using\nthe same token without having to re-enter the URL parameter.\n- Copy the token from another node with a token.\n- Copy the token from another part of the same Book (top of book or parent menu\nitem).\n- Use Views Bulk Operations to activate and manually add or generate a token,\nand to deactivate TCA Node from nodes.\n- Optional and configurable flood control to provide additional protection\nagainst attempts to brute force the token.\n\nMost of these additional features are also not available in Drupal 8+.\n\n## Installation\n\u003c!--\nList the steps needed to install and configure the module. Add/remove steps as\nnecessary.\n--\u003e\n- Install this module using the official Backdrop CMS instructions at\n  https://docs.backdropcms.org/documentation/extend-with-modules.\n- Also enable the 'Token Content Access Nodes' module.\n\n## Usage\nFor documentation on how to use the module including advanced usage, see the\ndocumentation pages at https://docs.backdropcms.org/documentation/add-ons/token-content-access.\n\n## Issues\n\u003c!--\nLink to the repo's issue queue.\n--\u003e\nBugs and Feature Requests should be reported in the Issue Queue:\nhttps://github.com/backdrop-contrib/tca/issues.\n\n## Current Maintainers\n\u003c!--\nList the current maintainer(s) of the module, and note if this module needs\nnew/additional maintainers.\n--\u003e\n- [Martin Price](https://github.com/yorkshire-pudding) - [System Horizons Ltd](https://www.systemhorizons.co.uk)\n- Collaboration and co-maintainers welcome!\n\n## Credits\n\u003c!--\nGive credit where credit's due.\nIf this is a Drupal port, state who ported it, and who wrote the original Drupal\nmodule. If this module is based on another project, or uses third-party\nlibraries, list them here. You can also mention any organisations/companies who\nsponsored the module's development.\n--\u003e\n- Ported to Backdrop CMS by - [Martin Price](https://github.com/yorkshire-pudding) - [System Horizons Ltd](https://www.systemhorizons.co.uk).\n- Port and ongoing development sponsored by [System Horizons Ltd](https://www.systemhorizons.co.uk).\n- Originally written for Drupal by [Grant Gaudet](https://www.drupal.org/u/gg4) and [Dane Powell](https://www.drupal.org/u/dane-powell)\n\n## License\n\u003c!--\nMention what license this module is released under, and where people can find\nit.\n--\u003e\n\nThis project is GPL v2 software.\nSee the LICENSE.txt file in this directory for complete text.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbackdrop-contrib%2Ftca","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbackdrop-contrib%2Ftca","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbackdrop-contrib%2Ftca/lists"}