Jadual Kandungan
Mencapai kesan" >Mencapai kesan
< . semak sama ada pengguna telah mengimbas kod " > 3. Log masuk kod imbasan Weibo < . semak sama ada pengguna telah mengimbas kod
Rumah hujung hadapan web tutorial js Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo

Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo

Nov 01, 2022 pm 07:34 PM
nodejs​ node.js node

Bagaimana untuk log masuk ke Weibo sebagai pihak ketiga? Artikel berikut akan memperkenalkan kepada anda cara menggunakan nod untuk melaksanakan log masuk pihak ketiga di Weibo. Saya harap ia akan membantu anda!

Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo

Anda boleh mengakses log masuk pihak ketiga Weibo tanpa pendaftaran, yang memberikan pengalaman pengguna yang lebih baik Hari ini kami akan menggunakan nodejs untuk melaksanakan log masuk pihak ketiga Weibo (bahasa lain juga tersedia) ). [Cadangan tutorial berkaitan: tutorial video nodejs]

Mencapai kesan

Contoh dalam talian: http://www . lolmbbs.com/login

1 Klik butang log masuk Weibo untuk log masuk

Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo

2

Pelaksanaan khusus

1 Mohon untuk akses laman web weibo

Log masuk ke https://open. .weibo.com/connect untuk memohon tapak web web Apabila mengakses


untuk pembangunan tempatan, tulis alamat aplikasi: 127.0.0.1

Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo
Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo
Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo

2 Klik butang untuk log masuk ke Weibo

Menggunakan kebenaran OAuth2.0 Untuk butiran, sila rujuk dokumen https:/. /open.weibo.com/wiki/Connect/login

1 Jana kod pengesahan log masuk Weibo
const weiboUrl = `https://api.weibo.com/oauth2/authorize?client_id=${weiboConfig.appKey}&response_type=code&redirect_uri=${weiboConfig.redirectUrl}`
Salin selepas log masuk
appKey: appKey yang diberikan kepada anda oleh Weibo selepas berjaya mencipta aplikasi

redirectUrl: halaman hadapan anda yang akan diubah hala selepas kebenaran pengguna berjaya , apa yang saya tulis di sini ialah http://127.0.0.1:8080/login

2 halaman kebenaran dan dapatkan kod pengguna
Selepas pengguna membenarkan log masuk, ia akan melompat kepada anda Tulis redirectUrl dalam satu langkah, dan membawa kod pengguna tersebut. 0.1:8080/login?code=abcdef

vue mendengar url penghalaan Jika terdapat kod pada url, ia akan meminta antara muka panggil balik Log masuk

created() {
    const { code } = this.$route.query;
    if (code) {
      loginCallback({ code }).then((res) => {
        this.$message({
          message: `${res.nickname} 欢迎您`,
          type: "success",
        });
        this.setUser(res);
        this.$router.push("/tool/qr");
      });
    }
  }
Salin selepas log masuk
3 . Antara muka panggil balik log masuk Backend, dapatkan accessToken melalui kod pengguna, dan kemudian dapatkan maklumat pengguna melalui accessToken untuk melengkapkan log masuk
   async loginCallback(ctx) {
      let { code } = ctx.request.body
      if (!code) {
         return ctx.error(errCode.PARAMS_ERROR, &#39;参数错误&#39;)
      }
      // 获取accessToken
      const { access_token, uid } = await got.post(&#39;https://api.weibo.com/oauth2/access_token&#39;, {
         form: {
            client_id: weiboConfig.appKey,
            client_secret: weiboConfig.appSecret,
            grant_type: &#39;authorization_code&#39;,
            redirect_uri: weiboConfig.redirectUrl,
            code
         }
      }).json()
      // 通过accessToken获取UserInfo
      const { id, name: nickname, avatar_hd: avatar } = await got.get(`https://api.weibo.com/2/users/show.json?access_token=${access_token}&uid=${uid}`).json()
      // 在自己的系统内创建User
      let [user, isCreate] = await WeiboUser.upsert({ id, nickname, avatar })
      // 生成登录Token,通过userType区分是微博登录用户还是系统账号登录用户
      const token = await jwt.createToken({ ...user.toJSON(), userType: &#39;weiboUser&#39; })
      return ctx.success({ nickname, avatar, token })
   }
Salin selepas log masuk

3. Log masuk kod imbasan Weibo < . semak sama ada pengguna telah mengimbas kod

2 Bahagian hadapan terus mengundi untuk menyemak sama ada kod QR dibenarkan dengan mengimbas kod
Bahagian hadapan:
 async getWeiboLoginQr(ctx) {
      const qrApi = `https://api.weibo.com/oauth2/qrcode_authorize/generate?client_id=${weiboConfig.appKey}&redirect_uri=${weiboConfig.redirectUrl}&scope=&response_type=code&state=&__rnd=${Date.now()}`
      const { url, vcode } = await got.get(qrApi).json()
      return ctx.success({ weiboQrUrl: url, vcode })
}
Salin selepas log masuk

Backend:

Jika statusnya ialah 3, pengguna kod telah mengimbas kod untuk mendapatkan kebenaran dan URL yang dikembalikan ialah URL panggil balik bahagian hadapan selepas mengklik butang untuk log masuk. Langkah seterusnya adalah sama seperti 2. Lompat ke halaman kebenaran dan dapatkan kod pengguna

 const id = setInterval(() => {
          getWeiboLoginQrStatus({ vcode }).then((res) => {
            const { status, url } = res;
            if (status === "3") {
              window.location = url;
              clearInterval(id);
            }
          });
}, 3000);
Salin selepas log masuk
Untuk lebih banyak pengetahuan berkaitan nod, sila lawati:

tutorial nodejs

!
   async getWeiboLoginQrStatus(ctx) {
      const { vcode } = ctx.request.query
      if (!vcode) {
         return ctx.error(errCode.PARAMS_ERROR, &#39;参数错误&#39;)
      }
      const queryQrApi = `https://api.weibo.com/oauth2/qrcode_authorize/query?vcode=${vcode}&__rnd=${Date.now()}`
      const { status, url } = await got(queryQrApi).json()
      return ctx.success({ status, url })
   }
Salin selepas log masuk

Atas ialah kandungan terperinci Analisis ringkas tentang cara nod melakukan log masuk pihak ketiga di Weibo. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Artikel tentang kawalan memori dalam Node Artikel tentang kawalan memori dalam Node Apr 26, 2023 pm 05:37 PM

Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Mar 29, 2023 pm 06:02 PM

Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Mar 28, 2023 pm 07:28 PM

Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Mari bercakap secara mendalam tentang modul Fail dalam Node Mari bercakap secara mendalam tentang modul Fail dalam Node Apr 24, 2023 pm 05:49 PM

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Analisis mendalam tentang alat pengurusan proses Node 'pm2' Analisis mendalam tentang alat pengurusan proses Node 'pm2' Apr 03, 2023 pm 06:02 PM

Artikel ini akan berkongsi dengan anda alat pengurusan proses Node "pm2", dan bercakap tentang mengapa pm2 diperlukan, cara memasang dan menggunakan pm2, saya harap ia akan membantu semua orang!

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Mari kita bincangkan tentang gelung acara dalam Node Mari kita bincangkan tentang gelung acara dalam Node Apr 11, 2023 pm 07:08 PM

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.

Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Feb 08, 2023 am 10:09 AM

Sebab mengapa nod tidak boleh menggunakan arahan npm adalah kerana pembolehubah persekitaran tidak dikonfigurasikan dengan betul Penyelesaiannya ialah: 1. Buka "Sistem Sifat"; 2. Cari "Pembolehubah Persekitaran" -> "Pembolehubah Sistem", dan kemudian edit persekitaran. pembolehubah; 3. Cari lokasi folder nodejs;

See all articles