用户登录

后端服务接口成功验证了用户的身份以后,会给用户签发 Token ,在这个 token 里面除了 token 本身以后,还包含了一些跟用户相关的一些信息 .. 现在,这里会有用户的显示名,邮件地址,还有用户名 ..

我想在这里包含一些额外的信息,比如用户的权限,还有用户的头像 .. 我们可以去修改一下后端服务接口返回的数据 ..

之前我们在 WordPress 里面添加了一个自定义的插件 .. 在 site .. web.. app .. plugins 这个目录的下面,就是这个 ninghao-wp-rest .. 打开它里面的这个 php 文件 ..

在这里再去添加一个自定义的函数 ..

函数的名字是 ninghao_wp_rest_jwt_alter .. 它有两个参数 .. 一个 $data .. 还有一个 $user ..

这个函数里的 $data 就是返回的 token 数据 .. 在它上面我们可以添加一些新的东西 .. 比如我需要用户的头像 ..

添加一个 $avatar ,它的值是一个数组 .. 里面可以是一些不同尺寸的头像的地址 .. 比如可以先添加一个 lg ,表示 large .. 它的值就是一个头像图片地址 ..

得到用户头像的地址可以使用 WordPress 提供的 get_avatar_url 这个函数 .. 先把用户的 id 告诉它 .. 然后是一个数组 .. 里面添加一个 size 设置一下需要的头像的尺寸 .. 大号的头像可以是 192 像素 ..

再复制两份 .. 添加一个 md ,表示中等尺寸的头像 .. size 是 96 .. 最后这个是 sm ,表示小号的头像 .. 大小是 48 像素 ..

下面在 $data 下面,再添加一个 user_avatar .. 它的值就是上面我们定义的这个 $avatar ..

在返回的数据里可以再加上用户的权限 .. 在 $data 里面再添加一个 user_caps .. 它的值是 $user 里面的 caps ..

最后我们要 return 这个修改之后的 $data ..

再把这个自定义函数挂载到一个地方 .. 用一下 add_filter .. 挂载到的是 jwt_auth_token_before_dispatch .. 我们的函数的名字是 ninghao_wp_rest_jwt_alter .. ,优先级是 10,有两个参数 ..

预览

下面可以再回到我们的小程序去预览一下 .. 在登录页面上输入用户名 .. 再输入密码 .. 然后登录一下 ...

请求成功以后 .. 检查一下响应回来的数据 ..

现在这个数据里面,会包含一个 user_caps .. 它里面有个 adminstrator .. 这个用户对应的值是 true .. 意思就是这个用户是网站的管理员 ..

另外这里还多了一个 user_avatar .. 它里面的东西就是一些不同尺寸的用户的头像 ...

在 Token 里添加额外的用户信息(WordPress)《 微信小程序:身份验证 #3 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点