如何构建 WordPress 插件授权系统

销售商业 WordPress 插件需要一套授权系统。

你需要在客户网站上激活密钥。你需要将密钥锁定在特定域名下。你必须防止用户将一个密钥分享到多个网站。

大多数人使用 Freemius 或 EDD。这些工具效果很好。然而,它们会抽取收入分成。它们是第三方依赖项。你无法掌控整个流程。

我们为 RideCab WP 构建了自己的系统。以下是如何从零开始构建自定义系统的方法。

该系统分为两个部分。

  1. 授权服务器 (The License Server) 它运行在你自己的基础设施上。在你的营销网站上使用一个 WordPress must-use 插件。它将密钥存储在数据库中。它使用 REST API 进行激活和验证。它提供一个用于管理密钥的仪表板。

  2. 客户端 (The Client) 这是你商业插件内部的一个 PHP 类。它会添加一个设置页面。它会调用你的服务器进行激活。它会缓存验证结果。它会在后台重新进行验证。

核心需求:

最重要的规则是失效开放 (fail open)

如果你的授权服务器宕机,不要将客户拒之门外。如果你选择“失效关闭 (fail closed)”,客户会看到一个损坏的网站,这会毁掉你的声誉。如果你选择“失效开放”,插件将继续工作。虽然可能会有少数盗版用户免费使用,但你的付费客户会保持满意。

最佳实践:

这种设置处理了授权的基础功能。它不包括更新分发。我将在未来的文章中介绍这一点。

Source: https://dev.to/canopuswebagency/how-to-build-a-wordpress-plugin-licensing-system-from-scratch-without-freemius-4l51