V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
sjx95
V2EX  ›  云计算

吐槽一下使用 Azure Static Web App 的上头经历

  •  
  •   sjx95 · 2022-06-12 01:34:59 +08:00 · 1870 次点击
    这是一个创建于 888 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近写了个 React 的小玩具,正好看到 azure 的 static web app 支持 preview environment + GitHub Actions + SSO + API Function 等功能,就用上了。 SWA 预览环境和 GitHub Actions 集成的相当好,提每个 MR 会自动生成预览环境,也可以用固定的几个分支。 用起来还是挺舒服的,不过这是纯静态的情况,在尝试联动上 API Function 时开始上头了……

    首先这个 azure-function-core-tools 安装就是个问题,国内没配置 CDN ,拉取时还不认代理。 费劲千辛万苦总算一点点拖回来了,一启动还蓝屏…… 没错,是蓝屏,Win 11 + WSL + Azure ,明明都是微软的,一起用居然会蓝屏。 最后没有办法,重新实现了一套不依赖 Azure Function 框架的 API Server 用于调试,还好内容不复杂。

    调试完了发 PE ,用了两下觉得没啥问题,就发到 prod 上了。 没过一会朋友发来反馈说登陆页面打不开,F12 跟踪了一下跳转路径后发现跳转顺序是:

    1. 你的 App 域名 + /.auth/login/github
    2. identity.1.azurestaticapps.net
    3. identity.1.azurestaticapps.net
    4. github.com

    然后多地移动朋友拉不下来页面 2 ,但联通电信可以,且 DNS 解析出的是同一个 HK 的 IP 。 真不清楚是不是移动给搞了什么幺蛾子 23333

    生活不易,狗狗叹气.png

    6 条回复    2022-06-16 15:37:51 +08:00
    baobao1270
        1
    baobao1270  
       2022-06-12 21:16:58 +08:00
    感觉 Azure 的东西都挺难用的……太复杂了
    还是 Cloudflare 的那一套简单
    sjx95
        2
    sjx95  
    OP
       2022-06-13 15:07:49 +08:00
    @baobao1270 Cloudflare 我还真没了解过,之前只看了 Azure 和 GCP ,有免费额度。
    Cloudflare 只知道有个 CDN ,它也可以托管静态站点和轻量 API 吗?
    baobao1270
        3
    baobao1270  
       2022-06-13 17:19:07 +08:00
    @sjx95 现在可以了。静态网站有 pages ,函数计算有 worker ,同时提供对象存储、KV 数据库等功能。
    sjx95
        4
    sjx95  
    OP
       2022-06-14 16:11:59 +08:00
    @baobao1270 看了一下,还真可以。
    除了 "login with github" 的功能需要自己写以外,各种功能挺丰富的。

    不过昨天研究了一下 OAUTH2 的协议,和朋友试了一下发现好像可以这么操作:
    1. 朋友点击 login ,卡在 identify 这个域名上面,把 URL 发给我;
    2. 我打开 URL 后 302 挑战至 GitHub 登录页面,把 URL 发给朋友;
    3. 朋友在 GitHub 登录,然后拿到 OAUTH2 Callback URL (包含 Code ),发给我
    4. 我请求 Callback URL 提交 Code (但我本地没有 identify 这个页面的 session )
    5. 朋友刷新页面,成功登录

    不知道原理上有没有问题。。还是恰好巧了才成功的
    baobao1270
        5
    baobao1270  
       2022-06-15 20:33:01 +08:00
    @sjx95 emmm Cloudflare 有一个 ZertTrust 服务 简单的后台管理甚至不需要自己做用户系统
    sjx95
        6
    sjx95  
    OP
       2022-06-16 15:37:51 +08:00
    @baobao1270 之前有看到,感觉比较复杂了,就没仔细往下看。
    等周末好好看看这部分文档。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:55 · PVG 14:55 · LAX 22:55 · JFK 01:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.