WordPress 插件
Vimine WordPress 插件在服务器端为协会网站提供三项基本功能(浏览器中没有令牌,也不依赖 JavaScript):
- 使用 Vimine 登录——会员用自己的账户登录(OAuth 2.1 加 PKCE;插件是一个机密客户端,在服务器上用 secret 交换授权码);
- 会员卡——已登录会员的会员卡,以带二维码的图片显示(
GET /v1/me/membership/card.svg); - 入会——协会的入会表单(嵌入)。
安装
章节“安装”- 在 WordPress 中打开“插件 → 安装插件”,搜索“Vimine”,安装并启用:该插件已收录在 WordPress.org 插件目录中。
- 在“开发者”页面中登记一个机密客户端。重定向 URI 请使用网站上“设置 → Vimine”中显示的地址(通常为
https://yoursite/vimine-callback/);选择权限(至少profile:read membership:read)。 - 在“设置 → Vimine”中填入 client ID 和 secret(保存后 secret 不会再显示)。
使用
章节“使用”| 短代码 | 区块 | 作用 |
|---|---|---|
[vimine_signin label="" return_to="" scope=""] |
Vimine — 登录 | “使用 Vimine 登录”按钮;会员已登录时显示“退出”(撤销令牌,并同时退出 Vimine) |
[vimine_card] |
Vimine — 会员卡 | 已登录访客的会员卡;未登录时提示登录 |
[vimine_enroll slug="…" height="900" lang=""] |
Vimine — 入会表单 | 协会的入会表单,使用网站的语言(如果 Vimine 支持该语言,否则使用意大利语;可用 lang 指定);对已有 Vimine 账户的人,提供“前往 Vimine 继续”,在新标签页中打开页面,一步即可入会(为什么用新标签页) |
[vimine_events slug="…" filter="upcoming" limit="10"] |
Vimine — 活动 | 协会的活动及剩余名额(访客看到公开活动,已登录会员看到全部活动);每个活动都链接到其在 Vimine 上的页面,在那里报名(指南) |
这些区块位于编辑器的“小工具”分类下,选项与短代码相同。
会话的工作方式
章节“会话的工作方式”从托管的登录页面返回后,插件交换授权码(使用 PKCE verifier 和 secret),把令牌保存在 WordPress 的 transient 中,只把会话 id 交给浏览器(HttpOnly Cookie,SameSite=Lax)。访问令牌借助刷新令牌自动续期;“退出”会撤销刷新令牌,并经过 Vimine 的 /oauth/logout,因此那里的会话也会结束。在该协会没有会员卡的会员会看到相应的提示;未开通 API 的协会会收到 api_disabled。
自定义
章节“自定义”样式表非常精简,使用 --vimine-accent 和 --vimine-accent-contrast 变量;每个元素都带有 vimine-… 类名。如需更丰富的功能(在主题中显示会员数据、从管理系统办理入会),请使用插件的凭据直接调用 API 或服务器 SDK。