34、Phoenix Web 开发:从认证到测试的实践指南

Phoenix Web 开发:从认证到测试的实践指南

1. 套接字连接认证

在之前的应用中,任何用户都可以连接到套接字,即使他们未经过身份验证。为了改进这一点,我们需要更新应用,使得只有登录用户才能连接到套接字并加入频道。这次我们将采用基于令牌的认证方式,为每个经过身份验证的用户分配一个令牌,并在用户尝试连接到套接字时验证该令牌。

1.1 传递令牌到服务器

apps/elixir_drip_web/assets/js/socket.js 代码中,我们已经看到使用 window.userToken 向服务器传递令牌。我们可以在应用布局中添加以下脚本标签:

<script>window.userToken = "<%= assigns[:user_token] %>"</script>

此代码应添加在 window.userId 相关代码之后,这样 window.userToken 就会保存 assigns[:user_token] 的值。

1.2 生成令牌

为了在用户登录时填充 assigns[:user_token] ,我们需要更新之前创建的 FetchUser 插件:

defmodule E
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值