# πŸ” 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) --- ---