Odoo Community
Odoo Enterprise
Viindoo Cloud
Share links that stop working when you said they would
Access tokens with an expiry date and an automatic rotation - so a link that was shared once does not stay valid forever.
Token Expiration (technical name to_token_expiration) is an Odoo 17.0 app for Odoo Community and Odoo Enterprise and Viindoo Cloud, built for whoever shares, security or compliance, administrator, developer.
At a Glance
The facts of Token Expiration, version 0.1, in one place. Published by Viindoo.
Technical name
to_token_expiration
Odoo version
17.0 (Odoo Community, Odoo Enterprise, Viindoo Cloud)
Depends on
resource, base_setup
Adds
2 new models, 2 extended models, 1 menu, 1 scheduled action, 1 setting, 1 access group
Best for
Whoever shares; Security or compliance; Administrator; Developer
Not for
It does not expire portal logins.
Key features
An access token as a record, with an expiry date, A company-wide lifetime in days - zero means never expire, A scheduled job that rotates expired tokens in batches, The old URL stops resolving the moment the token rotates, A mixin any model can inherit to get expiring links, Tokens are tied to their record, and are refused a copy
How It Works
Two screens - and then a scheduled job does the work.
1
Every live token, with its expiry
The record each token belongs to and the moment it stops working. Expired ones are rotated by the scheduler and disappear from here.
2
On the record that was shared
The share carries the token; when it rotates, the link people were given stops opening the document.
What You Get
An access token as a record, with an expiry date
A company-wide lifetime in days - zero means never expire
A scheduled job that rotates expired tokens in batches
The old URL stops resolving the moment the token rotates
A mixin any model can inherit to get expiring links
Tokens are tied to their record, and are refused a copy
More Screens
Everything below was taken on a database seeded with real business data, on this series - not a mock-up and not a screenshot from an older version.
What This App Does Not Do
Read this before you buy. Everything below is something the app deliberately leaves to another app or to you.
It does not expire portal logins.
This is about token links, not about sessions or user accounts.
One lifetime per company.
There is no per-record expiry to set by hand - the lifetime is a policy, applied uniformly.
Rotation happens on a schedule.
A token expires at its date and is rotated by the next run of the job, not to the second.
Only models that use the mixin are covered.
Viindoo apps that share links use it; a custom model gets it by inheriting the mixin.
The lifetime setting is developer-visible.
It sits in the general settings behind developer mode, because it is a policy set once, not a daily switch.
Works Well With
Apps from the same stack, built to fit this one:
Document Management
The share links this puts a clock on.
viin_document
Odoo Module Catalogue
Download links that should not live forever.
to_odoo_module
Who Should Use Token Expiration?
Whoever shares
Sends a link that stops being valid on a date instead of forever.
Security or compliance
Has an answer to "who can still open that document".
Administrator
Sets one number, in days, per company.
Developer
Inherits a mixin instead of writing token rotation again.
Frequently Asked Questions
What does Token Expiration do?
Access tokens with an expiry date and an automatic rotation - so a link that was shared once does not stay valid forever.
What does Token Expiration not do?
It does not expire portal logins. This is about token links, not about sessions or user accounts. One lifetime per company. There is no per-record expiry to set by hand - the lifetime is a policy, applied uniformly. Rotation happens on a schedule. A token expires at its date and is rotated by the next run of the job, not to the second. Only models that use the mixin are covered. Viindoo apps that share links use it; a custom model gets it by inheriting the mixin. The lifetime setting is developer-visible. It sits in the general settings behind developer mode, because it is a policy set once, not a daily switch.
Who is Token Expiration for?
Whoever shares: Sends a link that stops being valid on a date instead of forever. Security or compliance: Has an answer to "who can still open that document". Administrator: Sets one number, in days, per company. Developer: Inherits a mixin instead of writing token rotation again.
Which Odoo version and editions does it support?
Odoo 17.0 - Odoo Community, Odoo Enterprise, Viindoo Cloud. Upgrades to a newer Odoo series are a separate purchase for that series.
What does it depend on?
It installs on top of: resource, base_setup. Odoo installs them with it.
How do I set it up?
Two screens - and then a scheduled job does the work.
What works well with it?
Document Management (viin_document): The share links this puts a clock on. Odoo Module Catalogue (to_odoo_module): Download links that should not live forever. Signup Verification (to_signup_email_verification): The other half of tightening portal access.
Can I try it before buying?
Yes - the Live Preview button at the top of this page opens the module's own screen on a working database.
How do I get support?
Write to apps.support@viindoo.com with your Odoo version and the technical name to_token_expiration; pre-sales questions go to sales@viindoo.com.
Need help with Token Expiration?
For questions, implementation support or a custom feature, contact Viindoo.
Upgrades to a newer Odoo series are a separate purchase for that series.
All Viindoo apps: apps.odoo.com/apps/modules/browse?author=Viindoo
About Viindoo. Viindoo builds and maintains more than 1,000 apps on the Odoo App Store for the Community and Enterprise editions and runs them on Viindoo Cloud. A purchase of Token Expiration covers the 17.0 series: bug fixes on the module reach you through the store, questions go to apps.support@viindoo.com with the technical name to_token_expiration, and moving to a newer Odoo series is a separate purchase for that series. Source code is delivered with the module and stays yours to read and adapt.
Technical Requirement
Editions: Odoo Community, Odoo Enterprise, Viindoo Cloud
Changes log
0.1 - Latest on the 17.0 line
- Expired tokens are rotated in batches by a scheduled job, and the job re-triggers itself when more remain.
- Tokens cannot be duplicated, and their model and record cannot be moved.
Cài đặt
- Truy cập Ứng dụng.
- Tìm từ khóa to_token_expiration.
- Ấn Cài đặt.
Hướng dẫn sử dụng
Trong bài viết dưới đây, chúng tôi sẽ hướng dẫn bạn sử dụng mô-đun này để quản lý thời hạn truy cập đường dẫn khi chia sẻ tài liệu trong ứng dụng Quản lý Tài liệu.
Để quản lý được các token, bạn cần Kích hoạt chế độ nhà phát triển.
Bước 1: Truy cập Thiết lập > Thiết lập chung, tìm đến thiết lập Vòng đời Token mặc định và cấu hình số ngày hết hạn truy cập đường dẫn chia sẻ tài liệu tại đây.
Bạn có thể xem hướng dẫn chi tiết bài viết Thiết lập ngày hết hạn cho đường link chia sẻ tài liệu.
Bước 2: Truy cập ứng dụng Tài liệu, lựa chọn (các) tài liệu muốn chia sẻ và ấn nút chia sẻ, chọn Tạo đường dẫn chia sẻ. Hệ thống sẽ tạo một đường dẫn chia sẻ cho (các) tài liệu này.
Bước 3: Truy cập Thiết lập > Kỹ thuật > Token luân chuyển. Tại đây, hệ thống đã tự động tạo ra một token liên quan đến đường dẫn vừa tạo ở bước 2.
Bước 4: Ấn vào một token bất kỳ. Bạn có thể thấy Ngày hết hạn của token mặc định là Vòng đời Token mặc định. Thông tin này cho phép chỉnh sửa.
Lưu ý: Sau thời gian Ngày hết hạn, những người được chia sẻ tài liệu sẽ không thể xem tài liệu thông qua đường dẫn bạn đã gửi cho họ nữa.
Phần mềm này và các tệp liên kết ("Phần mềm")
được sử dụng (chạy, tuỳ biến, chạy sau khi được tuỳ biến)
chỉ khi bạn mua được giấy phép có hiệu lực từ tác giả,
điển hình như qua các Ứng dụng Odoo, hoặc trong trường hợp
bạn nhận được thoả thuận bằng văn bản từ tác giả của Phần mềm (chi tiết tại tệp COPYRIGHT).
Bạn có thể phát triển các phân hệ Odoo có sử dụng Phần mềm như một Thư viện (thường là phụ thuộc vào, nhập vào và sử dụng nguồn của nó)
nhưng không sao chéo bất kỳ mã nguồn hay tài liệu nào thuộc Phần mềm. Bạn có thể phân phối những phân hệ này theo giấy phép
mà bạn lựa chọn, miễn sao nội dung giấy phép đó tương tích với điều khoản của Giấy phép Phần mềm Độc quyền Odoo
(ví dụ: LGPL, MIT hay bất kỳ loại giấy phép phần mềm độc quyền nào tương tự vậy).
Nghiêm cấm phát hành, phân phối, cấp phép lại hoặc bán bản sao của Phần mềm hoặc
bản sao
Phần mềm đã được sửa đổi.
Thông báo bản quyền và chấp thuận nêu trên buộc phải được bao gồm trong tất cả các bản sao hoặc các phần quan trọng của Phần mềm.
PHẦN MỀM ĐƯỢC CUNG CẤP "NGUYÊN TRẠNG", KHÔNG BẢO ĐẢM DƯỚI BẤT KỲ HÌNH THỨC NÀO, ĐƯỢC THỂ HIỆN RÕ RÀNG HOẶC NGỤ Ý, KHÔNG GIỚI HẠN
ĐẢM BẢO VỀ CÁC BẢO ĐẢM NGỤ Ý VỀ KHẢ NĂNG THƯƠNG MẠI, PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ VÀ KHÔNG VI PHẠM.
TRONG MỌI TRƯỜNG HỢP SẼ KHÔNG CÓ TÁC GIẢ HOẶC CHỦ SỞ HỮU BẢN QUYỀN NÀO CHỊU TRÁCH NHIỆM VỀ BẤT KỲ KHIẾU NẠI,
THIỆT HẠI HOẶC TRÁCH NHIỆM PHÁP LÝ KHÁC NÀO TRONG PHẠM VI HỢP ĐỒNG, CÁC THIỆT HẠI HOẶC CÁCH KHÁC, PHÁT SINH TỪ, NGOÀI HOẶC
CÓ LIÊN KẾT VỚI PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC KINH DOANH KHÁC TẠI PHẦN MỀM.