Vue.js中Line第三方登錄api的實(shí)現(xiàn)代碼
國(guó)際化的項(xiàng)目就會(huì)用用到一些第三方的登錄api,這次記錄一下Line 的!
按步驟來(lái):
注冊(cè)Line賬號(hào)就不說(shuō)了,雖然麻煩,這就自己去想辦法了!
demo 請(qǐng)狠狠的戳這里 http://download.lllomh.com/cliect/#/product/J417081951162505
一:開(kāi)發(fā)者平臺(tái)配置
去Line 的開(kāi)發(fā)者平臺(tái) 新建一個(gè)App:
https://developers.line.biz/en/
順便寫(xiě)好資料:
動(dòng)態(tài)演示:
這要 用到的 就是2個(gè):
Channel ID 跟 Channel secret 對(duì)應(yīng)
'client_id' => '5431649755', 'client_secret'=> '234b6e64c13285e6d058ff7b1bbc8e'
關(guān)鍵是這里的重定向地址要填(幾乎所有第三方都要):
二:代碼部署
核心獲取第三方的部分
壹:組件封裝:
1,起始:這里就
const { code } = queryString.parse(window.location.search.replace('?', '')) if(!code) return
這里 頁(yè)面回調(diào)刷新的時(shí)候發(fā)現(xiàn)url 有這個(gè)code 這個(gè)值的話 就執(zhí)行獲取 token 的方法,反之不執(zhí)行:
async created() { const { code } = queryString.parse(window.location.search.replace('?', '')) if(!code) return const result = await this.getToken(code) const { data } = await this.getProfile(result.token) if(this.friendRequired) { const flag = await this.checkFriend(result.token) if(!flag) { this.error = this.friendErrorTest } } if(!this.error) { const response = Object.assign(data, result.getPostable()) this.$emit('result', response) } },
async getToken(code) { const result = new OAuthRequest({ code: code, clientId: this.clientId, clientSecret: this.clientSecret, redirectUri: this.callbackUri }) const params = new URLSearchParams() linq.from(result.getPostable()).select(x => params.append(x.key, x.value)).toArray() const { data } = await axios.post('https://api.line.me/oauth2/v2.1/token', params) console.log(data,"data")// 這里拿到返回的第三方的結(jié)果個(gè)人信息 return new OAuthResult(data) },
貳:組件封裝:
1,組件使用:
除了 那個(gè) 三個(gè)參數(shù),其他的一些 就看著修改整合吧
<template> <div id="app"> <line-login-button :client-id="clientId" :client-secret="clientSecret" :callback-uri="callbackUri" @result="result" add-friend friend-required></line-login-button> 1232131 </div> </template>
<script> import LineLoginButton from './components/LineLoginButton' export default { data() { return { clientId: '2323649755', clientSecret: '323128b6e64c13285e6d058ff7b1bbc8e', callbackUri: 'http://localhost:8080' //這里要跟開(kāi)發(fā)者平臺(tái)中填寫(xiě)的一致 } }, // created() { // this.clientId = process.env.VUE_APP_LINE_CLIENT_ID // this.clientSecret = process.env.VUE_APP_LINE_CLIENT_SECRET // this.callbackUri = process.env.VUE_APP_LINE_CALLBACK_URL // }, components: { LineLoginButton }, methods: { result(res) { console.log(res) } } } </script> <style> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; } #nav { padding: 30px; } #nav a { font-weight: bold; color: #2c3e50; } #nav a.router-link-exact-active { color: #42b983; } </style>
記得安裝 這個(gè)插件所需的插件:
import queryString from 'querystring' import axios from 'axios' import OAuthRequest from '../Entities/OAuthRequest' import linq from 'linq' import OAuthResult from '../Entities/OAuthResult'
結(jié)果:
總結(jié)
到此這篇關(guān)于Vue.js中Line第三方登錄api的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)Line第三方登錄api內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
代號(hào)為Naruto的Vue?2.7正式發(fā)布功能詳解
這篇文章主要為大家介紹了代號(hào)為Naruto的Vue?2.7正式發(fā)布功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Vue項(xiàng)目打包部署的實(shí)戰(zhàn)過(guò)程記錄
我們使用nginx部署Vue項(xiàng)目,實(shí)質(zhì)上就是將Vue項(xiàng)目打包后的內(nèi)容同步到nginx指向的文件夾,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包部署的相關(guān)資料,需要的朋友可以參考下2021-09-09VUE實(shí)時(shí)監(jiān)聽(tīng)元素距離頂部高度的操作
這篇文章主要介紹了VUE實(shí)時(shí)監(jiān)聽(tīng)元素距離頂部高度的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07基于Vue3創(chuàng)建一個(gè)簡(jiǎn)單的倒計(jì)時(shí)組件
這篇文章主要給大家介紹了基于Vue3創(chuàng)建一個(gè)簡(jiǎn)單的倒計(jì)時(shí)組件的代碼示例,文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-11-11Vuex 使用及簡(jiǎn)單實(shí)例(計(jì)數(shù)器)
這篇文章主要介紹了Vuex 使用及簡(jiǎn)單實(shí)例(計(jì)數(shù)器),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08vue新建環(huán)境變量以及網(wǎng)絡(luò)請(qǐng)求工具axios的二次封裝詳解
這篇文章主要為大家介紹了vue新建環(huán)境變量以及網(wǎng)絡(luò)請(qǐng)求工具axios的二次封裝詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06