diff --git a/READMELoginSignUp.md b/READMELoginSignUp.md new file mode 100644 index 000000000..9ce73a3aa --- /dev/null +++ b/READMELoginSignUp.md @@ -0,0 +1,113 @@ +# πŸ” WeKan β€” Login System Overview + +This document provides a detailed overview of WeKan’s **login and authentication system**, covering client-side UI, server-side logic, external authentication methods, and potential upgrade paths. + +--- + +## πŸ–₯️ Login Web UI + +WeKan's login interface is implemented using a combination of: + +- `layouts.jade` – Login HTML structure +- `layouts.js` – Login logic and interactivity +- `layouts.css` – Styling and layout + +πŸ“ Source: [`client/components/main`](https://github.com/wekan/wekan/tree/main/client/components/main) + +--- + +## βš™οΈ Server-Side Authentication + +Server-side login functionality is handled in: + +- [`server/authentication.js`](https://github.com/wekan/wekan/blob/main/server/authentication.js) + +Other related configurations: + +- πŸ”§ Account config: [`config/accounts.js`](https://github.com/wekan/wekan/blob/main/config/accounts.js) +- πŸ“¨ Sign-up invitations: [`models/settings.js#L275`](https://github.com/wekan/wekan/blob/main/models/settings.js#L275) +- πŸ‘€ User creation logic: [`models/users.js#L1339`](https://github.com/wekan/wekan/blob/main/models/users.js#L1339) + +--- + +## πŸ‘₯ Meteor User Accounts + +WeKan utilizes Meteor’s `accounts` system. Relevant resources: + +- πŸ“š Meteor 2.x Accounts Docs: [v2-docs.meteor.com/api/accounts](https://v2-docs.meteor.com/api/accounts) +- πŸ” Meteor Packages: + - [`packages`](https://github.com/wekan/wekan/blob/main/.meteor/packages) + - [`versions`](https://github.com/wekan/wekan/blob/main/.meteor/versions) +- πŸ“¦ Meteor 2.14 core packages: [Meteor 2.14 packages](https://github.com/meteor/meteor/tree/release/METEOR%402.14/packages) + +--- + +## πŸ” External Authentication (OIDC, LDAP, etc.) + +WeKan supports external authentication methods via internal packages. + +πŸ“ See [`packages/`](https://github.com/wekan/wekan/tree/main/packages) for: +- OpenID Connect (OIDC) +- LDAP +- OAuth and other integrations + +--- + +## πŸ“¦ NPM & AtmosphereJS Dependencies + +- πŸ”— `package.json`: [Dependencies list](https://github.com/wekan/wekan/blob/main/package.json) +- 🧩 WekanTeam scoped NPM packages: [@wekanteam on npm](https://www.npmjs.com/search?q=%40wekanteam) +- ☁️ AtmosphereJS Meteor packages: [atmospherejs.com](https://atmospherejs.com) + +--- + +## 🚧 Meteor Version & Upgrade Notes + +- πŸ“Œ Current Version: **Meteor 2.14** + - [`.meteor/release`](https://github.com/wekan/wekan/blob/main/.meteor/release) +- πŸ”§ Maintained with only **critical fixes** until ~Summer 2025 +- πŸš€ Migration to **Meteor 3** or a new framework is under consideration + +πŸ“˜ Meteor 3 API: [docs.meteor.com/api/accounts](https://docs.meteor.com/api/accounts) + +--- + +## πŸ§ͺ Prototypes & Examples + +### 🐘 PHP Prototype Sign-Up + +Used in experimental versions: + +- Step 1: [`sign-up1.php`](https://github.com/wekan/php/blob/main/page/sign-up1.php) +- Step 2: [`sign-up2.php`](https://github.com/wekan/php/blob/main/page/sign-up2.php) +- Main entry: [`index.php#L72-L83`](https://github.com/wekan/php/blob/main/public/index.php#L72-L83) + +--- + +### 🎨 WeKan Studio Prototype + +Sign-up logic in the **WeKan Studio** version: + +- [`signUp.fmt`](https://github.com/wekan/wekanstudio/blob/main/srv/templates/login/signUp.fmt) + +--- + +## πŸ“Ž Future Considerations + +- Upgrading to **Meteor 3.x** +- Refactoring frontend logic to fix translation rendering order +- Exploring **simplified authentication systems** in future prototypes + +--- + +## πŸ”— Project Links + +- πŸ”§ Main Repo: [github.com/wekan/wekan](https://github.com/wekan/wekan) +- 🌐 Website: [wekan.github.io](https://wekan.github.io) +- πŸ“š Documentation: [Wekan Wiki](https://github.com/wekan/wekan/wiki) + +--- + + + +---