[閒聊] 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