Skip to content

collective/collective.ftw.tokenauth

Repository files navigation

tokenauth 🚀

Built with Cookieplone Black code style CI

PAS plugin that facilitates machine-to-machine authentication by implementing a two legged OAuth2 flow using service keys and short-lived access tokens.

This project is a fork of the original ftw.tokenauth package by 4teamwork, released under the GPLv2.

Documentation

The documentation of this package can be found on read-the-docs

Project structure 🏗️

This monorepo consists of the following distinct sections:

  • backend: Houses the Plone backend add-on in package named collective.ftw.tokenauth.
  • frontend: Contains the React (Volto) package named volto-tokenauth
  • docs: Documentation

Why this structure? 🤔

  • All necessary codebases to run the site are contained within the repository (excluding existing add-ons for Plone and React).
  • Specific GitHub Workflows are triggered based on changes in each codebase (refer to .github/workflows).
  • Simplifies the creation of Docker images for each codebase.
  • Demonstrates Plone installation/setup without buildout.

Code quality assurance 🧐

To check your code against quality standards, run the following shell command.

make check

Format the codebase

To format and rewrite the code base, ensuring it adheres to quality standards, run the following shell command.

make format
Section Tool Description Configuration
backend Ruff Python code formatting, imports sorting backend/pyproject.toml
backend zpretty XML and ZCML formatting --
frontend ESLint Fixes most common frontend issues frontend/.eslintrc.js
frontend prettier Format JS and Typescript code frontend/.prettierrc
frontend Stylelint Format Styles (css, less, sass) frontend/.stylelintrc

Formatters can also be run within the backend or frontend folders.

Linting the codebase

or lint:

make lint
Section Tool Description Configuration
backend Ruff Checks code formatting, imports sorting backend/pyproject.toml
backend Pyroma Checks Python package metadata --
backend check-python-versions Checks Python version information --
backend zpretty Checks XML and ZCML formatting --
frontend ESLint Checks JS / Typescript lint frontend/.eslintrc.js
frontend prettier Check JS / Typescript formatting frontend/.prettierrc
frontend Stylelint Check Styles (css, less, sass) formatting frontend/.stylelintrc

Linters can be run individually within the backend or frontend folders.

Internationalization 🌐

Generate translation files for Plone and Volto with ease:

make i18n

Credits and acknowledgements 🙏

4teamwork for the original code of ftw.tokenauth

Generated using Cookieplone (0.9.10) and cookieplone-templates (96574af) on 2025-12-19 16:10:59.558520. A special thanks to all contributors and supporters!

About

PAS plugin that facilitates machine-to-machine authentication

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 7