对于那些在 Go 中构建 RESTful API 和 JS 前端应用程序的人,您如何管理身份验证?您是否使用任何特定的库或技术?
我很惊讶发现关于这个的讨论如此之少。
每个人都分别编写自己的解决方案吗?
这个问题获得了大量的观点——并且有一个热门问题徽章——所以我知道这个话题有很多潜在的兴趣,很多人都在问同样的问题,但在互联网上没有找到答案。
大多数可用信息都产生了与挥手动作相同的文本,作为“读者练习”。;)
然而,我终于找到了一个具体的例子,(慷慨地)由 golang-nuts 邮件列表的成员提供:
https://groups.google.com/forum/#!msg/golang- nuts/GE7a_5C5kbA/fdSnH41pOPYJ
这提供了建议的模式和服务器端实现作为自定义身份验证的基础。客户端代码仍然取决于您。
(我希望帖子的作者看到这个:谢谢!)
摘录(并重新格式化):
“我会建议类似以下设计:
create table User ( ID int primary key identity(1,1), Username text, FullName text, PasswordHash text, PasswordSalt text, IsDisabled bool ) create table UserSession ( SessionKey text primary key, UserID int not null, -- Could have a hard "references User" LoginTime <time type> not null, LastSeenTime <time type> not null )