一般很少人去用 token 获取用户信息,因为,token 是有期限的,会过期,你要明白 token 的作用,由于 http 请求是无状态的,所以,使用 token 来标记是谁发起的请求。
你要获取用户,就使用 userId
,它是存在数据库里的用户唯一标识。
你想做登录功能,很简单啊!例如:
你用 post
请求访问 https://api.lishaoy.net/login
请求体如下:
{
"name": "persilee",
"password": "666666"
}
请求成功后,后端会返回:
{
"code": 200,
"data": {
"id": 1,
"name": "persilee",
"token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InBlcnNpbGVlIiwiaWF0IjoxNjE0NjEzMzcwfQ.QwRW1b0V7P_cE5L5PAgZi3AZ9EeuLPdtR-_dgE7u7D68X6iUscR4wpk13Kxy2g8-Jran43KATn8uj9Bzqwuf-ItExnGTJFT0J14eYaImHGXV2MiluQCcdwljP7515GrATAUWixtkOSzgIn8VaT6z453S9sGuBjQFU5yBlAedwipXOS5RfgMiafFy4LAhoG5e5qqZNK7NOKlIdgz_jZzUkytUJ01i1JsCcoxdkmhXSeZy0C8eWlq-7CipCMlGdBsXKjXiAvF_WRrxSQ-Mosp_Q5EybIzDlOqmNh3-wbpiMcvAGHssxC2hveaOEIHiZv99abvmNxv_qPamPvOUcYOvQrUV9GG7P_w5OLkEE2HCgUe8zEgvN_TcaSQy_sBLNrqjhwjagNq-lbMZ_jmYFIZJLtpcu1zDR5QTfpO8tRz0mrVAjeJxKCtwiJqnCW5jn7QW-_MZeciDwihX130QIG9XTTfNyEUhT3i0BDOcLthTwk-grlRxvs_ugRLiWvuQKlq6Q-DD1DhM4JfE9blsIJ3a0tq2YNH457jEOsCGqj8PmJGhRLToLkPKCMagFHcjxb290Qhmu3zebp1b_aRdUYDWdCG80Eows1RL3Q_K2V1FxhTer1jCOFnJYWQIxg_W-c7SqmgHnYQdLkkll71Z-PZ1rnmqE8M1ZkGSToDaef6HnwQ"
},
"message": "success"
}
这里的 data 数据就是登录成功后返回的 user 信息,前端应该把这个 user 保存起来,如,localStorage
类似的工具,需要用到时,就可以取出来。
你要明白 token 用法,一般我们会使用一个网络请求拦截器给所有的请求的 header
里添加上 token
, 这样后端就知道是谁和他沟通。
退出登录时我们清空之前保存的 user 信息就行。
我的前端是用 flutter 做的, 后端地址 https://github.com/persilee/image-api-node
你可以参考参考,你可以扫描二维码安装App,了解具体流程,里面有登录和获取用户信息等功能
当你点赞时,需要登录,或者提交评论时,也要登录,
用户名:persilee,密码:666666, 或者任何一个作者的名字 如,
用户名:摄影师蝈蝈小姐,密码:666666
