[闲聊] LIFF (LINE 前端框架) 助手

楼主: shter (飞梭之影)   2019-06-04 12:44:43
最近在做一个 LINE chatbot 和 LIFF Web APP
不过因为用 Vue.js 开发,发现 Vue-router 的 hash 没有正确传递
看了一下才发现是因为 LIFF 把 LINE 的各种 access token 丢在 hash 里
所以就做一支 liff-hand 用来解决问题,不过我也没研究是否有其他更好的解决方法
用途跟用法写在 README.md 内
GitHub
https://github.com/melixyen/liff-hand
除了解决 hash 问题外也顺便处理跳转页面时的问题
其实想要在别的页面继续使用 LIFF 也可以,把原本的 token 资讯继续带往下一页就好
我没有试过跨网域能不能用,但在同一个网域下可以
也有试过开发时把手机拿到的 token 贴到电脑上开发但 init 都会失败
简述 liff-hand用法
1. liff-hand 要在 liff 的 sdk.js 之后引入,它会把自己绑在 liff.$hand 之下
2.请把原本的 hash 内容带在 &hashpath= 里面
3.LIFF 初始化完成后请执行 liff.$hand.changeHash(),程式会帮你把 token 备份
4.要跳转到其他页面时请执行 liff.$hand.goto(url),程式会帮你把 token 带上
并自动把你原本网址中的 hash 放进 hashpath 内传过去
在下一个页面一样初始化 liff 跟执行 liff.$hand.changeHash() 就好
不知道未来 LIFF 会不会有自己的市集以及捷径直接嵌在聊天室的功能内用
不然现在只能靠贴上 line://app 网址来用
作者: jack42107 (小克)   2019-06-04 22:50:00
先推一个用心
作者: crossdunk (推嘘自如)   2019-06-04 23:29:00
liff不能复制网址有点麻烦,除了直接操作line以外不知道能干嘛…另外用api取code重复的网址也能取到不同的,感觉怪怪的…有人可以分享他的好处吗?
楼主: shter (飞梭之影)   2019-06-05 00:27:00
大概就是在 Webview 下直接取得 token 跟 profile 吧我自己是觉得它在抛弃式用途跟加强群组交流方面有用处
作者: crossdunk (推嘘自如)   2019-06-05 12:59:00
抛弃式用途是指什么呢?我每次产一个网址就会多一个
作者: lwtech   2019-06-05 13:42:00
one time pass, 资安延伸
作者: crossdunk (推嘘自如)   2019-06-05 13:42:00
另外token跟profile不是用后端的也可以拿到吗?这个用前端拿会不会有安全性的问题呀
作者: lwtech   2019-06-05 13:46:00
走https能偷到你也可以是神了
作者: crossdunk (推嘘自如)   2019-06-05 14:14:00
我意思是说要用前端去跟line拿资料,那如果有人知道知道那个网址,是否可以取代掉拿的资料,让你拿回去数据库做比对,就会拿到其他人的资料了跟https应该没关系吧@@
作者: lwtech   2019-06-05 16:29:00
OSI 七层会不会走到网络层,应用层做的事情还是要往下传递
作者: Masakiad (Masaki)   2019-06-05 19:15:00
楼楼上 如果要做后端验证要把line id跟token送回后端去验证
楼主: shter (飞梭之影)   2019-06-05 19:26:00
抛弃用途就是临时产生一个 Web App 用完就不理它了免安装,免注册,免验证,直接利用社群资源做一些功能
作者: crossdunk (推嘘自如)   2019-06-06 15:57:00
可是产生后就一直存在不会不见呀QQ

Links booklink

Contact Us: admin [ a t ] ucptt.com