构建一个即时消息应用(六):仅用于开发的登录

文章图片
在这篇文章中 , 我们将添加一个为任何用户提供登录的端点 , 只需提供用户名即可 。 该端点仅用于开发 。
?来源:linux.cn?作者:NicolásParada?译者:XianLeiGao?
(本文字数:2605 , 阅读时长大约:3分钟)
本文是该系列的第六篇 。
第一篇:模式
第二篇:OAuth
第三篇:对话
第四篇:消息
第五篇:实时消息
我们已经实现了通过GitHub登录 , 但是如果想把玩一下这个app , 我们需要几个用户来测试它 。 在这篇文章中 , 我们将添加一个为任何用户提供登录的端点 , 只需提供用户名即可 。 该端点仅用于开发 。
首先在main()函数中添加此路由 。
router.HandleFunc(POST,/api/login,requireJSON(login))登录此函数处理对/api/login的POST请求 , 其中JSONbody只包含用户名 , 并以JSON格式返回通过认证的用户、令牌和过期日期 。
登录
funcissueToken(subjectstring,exptime.Time)(string,error){token,err:=jwtSigner.Encode(jwt.Claims{Subject:subject,Expiration:json.Number(strconv.FormatInt(exp.Unix(),10)),})iferr!=nil{return,err}returnstring(token),nil}该函数执行的操作与前文相同 。 我只是将其移过来以重用代码 。
创建令牌后 , 它将使用用户、令牌和到期日期进行响应 。
种子用户
现在 , 你可以将要操作的用户添加到数据库中 。
INSERTINTOusers(id,username)VALUES(1,john),(2,jane);你可以将其保存到文件中 , 并通过管道将其传送到CockroachCLI 。
catseed_users.sql|cockroachsql--insecure-dmessenger就是这样 。 一旦将代码部署到生产环境并使用自己的域后 , 该登录功能将不可用 。
就是这样 。 一旦将代码部署到生产环境并使用自己的域后 , 该登录功能将不可用 。 本文也结束了所有的后端开发部分 。 源代码via:nicolasparada.netlify.com作者:NicolásParada选题:lujun9972译者:gxlct008校对:wxy本文由LCTT原创编译 , Linux中国荣誉推出点击“了解更多”可访问文内链接
本文也结束了所有的后端开发部分 。
【构建一个即时消息应用(六):仅用于开发的登录】源代码
via:nicolasparada.netlify.com
作者:NicolásParada选题:lujun9972译者:gxlct008校对:wxy
本文由LCTT原创编译 , Linux中国荣誉推出
推荐阅读
- 猪身上一个部位,无筋无骨不塞牙,比排骨受欢迎,上桌立马被抢光
- 红豆和玉米面是绝配,一个做皮一个做馅,包好入锅一蒸,特香
- 天暖了,趁着这个功夫我们做一个芝麻馅,不煎不炸,蒸熟后包上芝麻糖馅,糯糯甜甜,真好吃
- 肺部|肺不好,会出现“1粗、2痛、3多”,占一个,也最好去查肺CT
- 吸烟|想戒烟反复几次不成功,告你一个简单有效的方法
- 简单快手又下饭的芹菜肉末炒粉丝,吃起来那叫一个香
- 冬天就适合用此物烙饼,鲜香营养,孩子爱吃,早餐吃一个暖心暖胃
- 地球|古代地球是一个水世界吗?
- 中国镇|你知道中国的“心脏”在哪吗?经国家地理测量,位于一个村庄上
- 满满都是营养,一口一个,吃起来太过瘾,这菜嫩到筷子都夹不住!
