























先前记账 Bot 的内容中,使用 NAS 部署的方案虽然可行,但为了正常接入 Telelgram 的 API,不配置代理是不行的。为了保持设备网络环境的纯粹性(懒),我觉得在境外 VPS 部署会更合理一些。
于是薅了个 Azure for Students 的 VPS 来部署 Bot。
Tip
需要在通过 Student Developer Pack 的 GitHub 账号的 Emails 列表中添加用于登录 Azure 的 Outlook 邮箱1。
同时,原本想着部署个 beancount 对应的 Web 页面 yegle/fava,可这个项目对文件具有可写权限,本身却不含任何身份认证机制。
那么手动添加访问控制就非常有必要了。
不过在这之前,毕竟用这个 VPS 算个带有些临时性/实验性的方案,我无心配置 Nginx 等反向代理。域名、证书都没有配置,仅仅类似于一台有着静态公网 IP 的家用主机。
于是,所有来自外部的访问都通过 Cloudflare Tunnel 进行。
很巧的是,所属的 Cloudflare One (Zero Trust) 提供了非常强大的访问控制策略,确实值得配置一下。
在访问控制 → 应用程序中新建应用程序,并配置好公共主机名和目标,接下来就可以配置访问策略了。
默认的身份验证方式只有 One-time PIN 一种,也就是每次登录都需接收邮箱验证码。
显然对于一款个人应用来说,这有些复杂了。
好在可以添加别的身份验证方式,在集成 → 标识提供程序中添加标识提供程序,就可以看到 GitHub、Google 等一系列熟悉的 IdP。
这里我选择用 GitHub 登录,但不得不说,刚点进去看到要填写应用 ID 和客户端密码,我还愣了好久,沟槽的翻译…

但是上方提供了 GitHub 文档的入口,那事情就简单很多了,接下来要做的就是非常普通的 OAuth 登录程序配置。

最关键的是添加策略,也就是允许谁访问。其中,Action 设置为 Allow,接着在规则中添加自己的邮箱地址作为身份标识。

然后是验证方式,我只选择了 GitHub 登录,这样页面也似乎看着清爽些。


Footnotes
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。