完全无后端的网站但支持 github 登录

请教一下这样的网站能否实现?前端只有静态文件(css、js、html...),没有后端能否实现第三方登录功能?

login·github
178 views
Comments
登录后评论
Sign In
·

这方面我只有一点研究,可能有严重错误,有意见的站友请纠正。

如果非要实现这个功能你大概只能尝试在客户端(用户侧)运行js来用github的oauth,不过这样你会有风险泄露应用密钥导致授权伪造,并且要是完全没后端(包括数据库),通过这个方式得到的jwt token也仅仅只可以用来访问github的数据(甚至请求都需要客户端获取,如果要渲染的话就是CSR);而如果你要为你的项目储存个性化数据(就是每个账号底下的联机固定数据),应该是无法做到的,没有数据库甚至完全没有办法联机存放对应数据。

不过折中的方案是可以采用Serverless,如果你感觉自己的服务器暴露有风险,你完全可以使用Next.js这类开箱即用的带api的框架或者别的技术构建Serverless Function(国内叫云函数较多),这些“函数”的好处在于响应快和免运维(由云服务厂商托管):其认证原理与传统类似,只是一切认证由“函数”在边缘上执行,较为安全,签发过程同样是发送token,与传统jwt一致。不过你要存储自己程序的数据的话你还是需要数据库或者任何存储(甚至在仓库里用json也罢),反正数据要联机只能上云,至于怎么存是看你的需求。数据库也有伴随“云函数”产生的所谓Serverless Database可供选择,且价格低,不少国外提供商对于一般开发者也提供大额免费。

·

可以使用云函数配合云数据库做到,比如腾讯云的云开发。