国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Apakah yang akan anda pelajari melalui artikel ini?
Apakah pensijilan?
Apakah itu kebenaran?
Apakah itu pengesahan?
Apakah itu kawalan kebenaran?
Apakah hubungan antara pengesahan, kebenaran, pengesahan dan kawalan kebenaran?
1. Pengesahan asas HTTP
Sebelum memahami ayat ini, mari kita fahami secara ringkas dan ?
4. JWT(JSON Web Token)鑒權(quán)
5. 單點(diǎn)登錄(Single Sign On)

OAuth 協(xié)議又有 1.0 和 2.0 兩個(gè)版本,2.0 版整個(gè)授權(quán)驗(yàn)證流程更簡(jiǎn)單更安全,也是目前最主要的用戶身份驗(yàn)證和授權(quán)方式。

授權(quán)碼模式的步驟詳解" >授權(quán)碼模式的步驟詳解
隱藏式模式的步驟詳解" >隱藏式模式的步驟詳解
密碼式模式的步驟詳解" >密碼式模式的步驟詳解
客戶端模式的步驟詳解" >客戶端模式的步驟詳解
按授權(quán)需要的多端情況:" >按授權(quán)需要的多端情況:
Dikelaskan mengikut jenis pelanggan dan pemilik token akses: " >Dikelaskan mengikut jenis pelanggan dan pemilik token akses:
7 Log masuk bersekutu dan log masuk dipercayai
Ringkasan
Rumah tajuk utama [Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

Aug 23, 2022 pm 07:27 PM
Pengesahan Pengesahan bahagian hadapan

Mengenai pengesahan bahagian hadapan, apakah maksud Token, Kuki, Sesi, JWT, log masuk tunggal, log masuk kod imbasan dan log masuk satu klik? Apakah fungsi setiap satu? Bagaimana anda biasanya melakukannya? Dan bagaimana anda menyimpannya? Jadi bagaimana anda memastikan ia selamat? Artikel berikut akan mengajar anda cara mengendalikan semua skim pengesahan di bahagian depan dan belakang, supaya anda tidak lagi keliru!

Saya masih ingat semasa temuduga, seorang penemuduga bertanya, berkenaan pengesahan front-end, apakah itu Token、Cookie、Session、JWT、單點(diǎn)登錄? Apa yang ia lakukan? Bagaimana anda biasanya melakukannya? Dan bagaimana anda menyimpannya? Jadi bagaimana anda memastikan selamat?

Setelah bertanya banyak soalan, saya sangat cemas dan terharu sehingga tidak dapat bercakap...

Sebenarnya, terdapat banyak kaedah pengesahan, seperti berikut saya telah meringkaskan 10種鑒權(quán)方法 yang biasa digunakan, jadi yang manakah sistem yang paling sesuai untuk anda? Mana satu yang paling selamat?

Kemudian marilah kita meneroka perlahan-lahan dan mencari jawapan daripada yang berikut ~

Apakah yang akan anda pelajari melalui artikel ini?

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

Sebelum memperkenalkan kaedah pengesahan, terlebih dahulu kita perlu memahami: 什么是認(rèn)證、授權(quán)、鑒權(quán)、權(quán)限控制 dan hubungan antara mereka Dengan mereka sebagai asas, maka kita Hanya dalam ini bagaimana kita boleh mempunyai pemahaman yang menyeluruh dari awal hingga akhir~

Apakah pensijilan?

認(rèn)證(Identification) merujuk kepada mengesahkan identiti pengisytihar berdasarkan maklumat pengenalan unik pengisytihar.

dalam bahasa vernakular bermaksud: 你需要用身份證證明你自己是你自己.

Sebagai contoh, teknologi pengesahan biasa kami:

  • kad ID
  • Nama pengguna dan kata laluan
  • Telefon mudah alih pengguna: mesej teks telefon mudah alih, pengimbasan kod QR telefon bimbit , Kata laluan gerak isyarat
  • Alamat e-mel pengguna
  • Ciri biologi pengguna: cap jari, suara, iris mata
  • Pengenalpastian data besar pengguna
  • dll .

Apakah itu kebenaran?

授權(quán)(Authorization): Dalam bidang keselamatan maklumat, ia merujuk kepada 資源所有者 delegasi 執(zhí)行者, memberikan 執(zhí)行者 kebenaran operasi sumber dalam julat yang ditentukan untuk memudahkan operasi berkaitan sumber.

Dalam bidang kehidupan sebenar, contohnya: Kad bank (diedarkan oleh bank), kad akses (diedarkan oleh pejabat pengurusan hartanah), kunci (diedarkan oleh tuan tanah), ini semua diberi kuasa dalam cara pelaksanaan kehidupan sebenar.

Dalam medan Internet, contohnya: Mekanisme sesi pelayan web, mekanisme kuki pelayar web dan pengeluaran token kebenaran (token) adalah semua mekanisme kebenaran.

Apakah itu pengesahan?

鑒權(quán)(Authentication) Dalam bidang keselamatan maklumat, ia merujuk kepada proses mengenal pasti dan mengesahkan ketulenan pernyataan hak identiti yang diisytiharkan oleh pengisytihar.

Jika anda bermula dari kebenaran, lebih mudah untuk memahami pengesahan. Keizinan dan pengesahan ialah dua hubungan huluan dan hiliran yang sepadan Keizinan dahulu, kemudian pengesahan.

Dalam bidang kehidupan sebenar: Kad kawalan akses perlu melepasi pembaca kad akses dan kad bank perlu melepasi pengecam kad bank

Dalam medan Internet: Sahkan kesahihan dan kesahihan sesi/kuki/token

鑒權(quán) ialah pautan antara yang sebelumnya dan yang seterusnya menerima output yang dibenarkan, mengesahkan kesahihannya dan kemudian mendapat kebenaran , ini akan bersedia untuk langkah seterusnya kawalan kebenaran.

Apakah itu kawalan kebenaran?

權(quán)限控制(Access/Permission Control) Takrifkan operasi boleh laku sebagai senarai kebenaran, dan kemudian tentukan sama ada operasi itu dibenarkan/dilarang

Kawalan kebenaran boleh difahami dalam dua bahagian: satu ialah kebenaran , lain adalah kawalan. Kebenaran adalah konsep logik abstrak, manakala kawalan adalah kaedah pelaksanaan konkrit.

Dalam bidang kehidupan sebenar: Ambil pelaksanaan kebenaran kad kawalan akses sebagai contoh Kad kawalan akses mempunyai kebenaran untuk membuka semua pintu dalam syarikat mempunyai kebenaran peranan pentadbir , supaya anda boleh membuka semua pintu dalam syarikat.

Dalam medan Internet: Kawal akses antara muka melalui perkhidmatan hujung belakang web, membenarkan atau menolak permintaan akses.

Apakah hubungan antara pengesahan, kebenaran, pengesahan dan kawalan kebenaran?

Melihat perkara ini, kita harus faham bahawa empat pautan 認(rèn)證, 授權(quán), 鑒權(quán) dan 權(quán)限控制 adalah hubungan 前后依次發(fā)生 dan 上下游; ??>

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagiPerlu diingatkan bahawa keempat-empat pautan ini kadangkala berlaku pada masa yang sama. Contohnya, dalam adegan berikut:

  • Gunakan kad akses untuk membuka pintu: Empat pautan pengesahan, kebenaran, pengesahan dan kawalan kebenaran berada dalam satu masa, berlaku serentak dalam sekelip mata
  • Log masuk tapak web pengguna: Apabila pengguna log masuk menggunakan nama pengguna dan kata laluan, pengesahan dan kebenaran dilengkapkan bersama, manakala pengesahan dan kawalan kebenaran berlaku semasa permintaan akses berikutnya, seperti semasa memilih item atau membuat pembayaran.

Berikut ialah soalan kecil untuk semua orang fikirkan: Apakah hubungan antara pengesahan dan pengesahan? Semua orang dialu-alukan untuk berbincang di ruang komen

Sekarang kita telah memahami hubungan antara mereka, kita harus bercakap tentang pengesahan bahagian hadapan? Dan apakah perbezaan antara mereka?

1. Pengesahan asas HTTP


Dalam HTTP, 基本認(rèn)證方案(Basic Access Authentication) membenarkan pelanggan (biasanya pelayar web) untuk , identiti pengguna disahkan oleh pengguna memberikan nama pengguna dan kata laluan.

Oleh kerana hampir semua laman web dalam talian tidak menggunakan skim pensijilan ini, semua orang boleh memahami skim itu

1.1 Carta aliran pengesahan

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

1.2 Analisis langkah pengesahan

  • Klien (seperti penyemak imbas): meminta 受限的列表數(shù)據(jù)或資源 daripada pelayan Contohnya, medan adalah seperti berikut: Hello klien, sumber ini berada dalam zon keselamatan

    dan merupakan sumber terhad yang memerlukan asas. pengesahan;
    ?GET?/list/?HTTP/1.1
    ?Host:?www.baidu.com
    ?Authorization:?Basic?aHR0cHdhdGNoOmY=
  • mengembalikan kod status 401 (Tidak dibenarkan) kepada klien dan menyediakan domain Pengesahan
  • memerlukan pengesahan identiti

    dengan ialah mod pengesahan dan baidu.com menunjukkan bahawa pelanggan perlu memasukkan nama pengguna dan kata laluan domain keselamatan ini, bukan

    domain lain

    www-Authenticate: Basic realm=”baidu.com”

    BasicPelanggan: realm="baidu.com" Pelayan, saya telah berikan. anda nama pengguna dan kata laluan, sila lihat; (Nota: Jika pelanggan ialah penyemak imbas, tetingkap pop timbul ini akan muncul secara automatik, membenarkan pengguna memasukkan nama pengguna dan kata laluan); ??>Selepas memasukkan nama pengguna dan kata laluan, pelanggan akan menghantar nama pengguna dan kata laluan ke pelayan dalam penyulitan Base64

    ?HTTP/1.1?401?Unauthorized
    ?www-Authenticate:?Basic?realm=?"baidu.com"
    Format penghantaran adalah seperti berikut (Kandungan asas ialah:
  • nama pengguna:kata laluan dalam ase64 format
  • ):

    Pelayan:

    Pelanggan Hello, saya telah mengesahkan bahawa nama pengguna dan kata laluan anda dalam medan adalah betul adalah sumber yang anda mahukan.

    ?GET?/list/?HTTP/1.1?
    ?Authorization:?Basic?Ksid2FuZzp3YW5n==
  • 1.3 KelebihanAuthorization

    ?HTTP/1.1?200?OK
    ?...
    Mudah, pada asasnya disokong oleh semua pelayar popular

1.4 Kelemahan

Tidak Selamat: Kerana ia berdasarkan penghantaran HTTP , jadi ia hampir telanjang di Internet Walaupun ia menggunakan Base64 untuk mengekod, pengekodan ini boleh dinyahkod dengan mudah.

    Walaupun kandungan pengesahan tidak boleh dinyahkodkan ke dalam nama pengguna dan kata laluan asal, ia adalah tidak selamat pengguna berniat jahat boleh mendapatkan kandungan pengesahan dan kemudian menggunakan pelayan perkongsian berterusan mereka untuk memulakan permintaan menyerang.
    • Tidak dapat log keluar secara aktif
    • :
    • Memandangkan protokol HTTP tidak menyediakan mekanisme untuk mengosongkan pengesahan Asas maklumat dalam penyemak imbas, melainkan tab atau penyemak imbas ditutup, atau pengguna mengosongkan sejarah.
  • 1.5 Senario penggunaan
    Rangkaian dalaman, atau rangkaian yang tidak mempunyai keperluan keselamatan yang sangat tinggi .

2. Pengesahan Sesi-Kuki

Pengesahan menggunakan Sesi (sesi) pelayan dan Kuki penyemak imbas (klien) Dilaksanakan mod pengesahan komunikasi bahagian hadapan dan belakang.

Sebelum memahami ayat ini, mari kita fahami secara ringkas dan ?


Session-Cookie2.1 Apakah itu Cookie

什么是 CookieSeperti yang kita sedia maklum, 什么是 Session (tiada memori untuk pemprosesan transaksi, setiap klien dan sesi pelayan selesai , pelayan tidak akan menyimpan sebarang maklumat sesi);

Jadi untuk membolehkan pelayan membezakan antara klien yang berbeza, ia mesti mengekalkan keadaan ini secara aktif untuk memberitahu pelayan sama ada kedua-dua permintaan sebelum dan selepas adalah daripada pelayar yang sama. Keadaan ini boleh dicapai melalui . Ciri-ciri:

  • Cookies disimpan di sebelah pelanggan dan boleh diusik sesuka hati mereka tidak selamat
  • Ada had saiz, maksimum 4kb
  • Ada. had kuantiti. Secara amnya, satu penyemak imbas hanya boleh tidak lebih daripada 20 kuki boleh disimpan, dan penyemak imbas biasanya hanya membenarkan 300 kuki
  • Android dan IOS tidak menyokong kuki dengan baik
  • Kuki tidak bersilang- domain, tetapi nama domain peringkat pertama dan nama domain peringkat kedua Nama domain peringkat dibenarkan untuk kegunaan dikongsi (bergantung pada domain)

2.2 Apakah itu Sesi

Konsep abstrak Sesi ialah session , ialah abstraksi interaksi antara pengguna dan pelayan untuk mencapai operasi gangguan/penerusan semasa proses komunikasi protokol tanpa kewarganegaraan

Khususnya , ia ialah struktur Sesi yang dijana oleh pelayan, yang boleh Disimpan dalam pelbagai cara, seperti memori, pangkalan data, fail, dsb. Tapak web yang besar biasanya mempunyai kluster pelayan Sesi khusus untuk menyimpan sesi pengguna

Proses prinsip:

  • Pelanggan: Pengguna menghantar permintaan kepada pelayan untuk kali pertama;

  • Pelayan:
  • menerima data dan menciptanya secara automatik untuk ID Sesi/Sesi Khusus pengguna untuk mengenal pasti pengguna dan menjejaki proses sesi semasa pengguna;

    Klien: Penyemak imbas menerima respons untuk mendapatkan maklumat sesi, dan akan Membawa ID Sesi/Sesi dalam permintaan seterusnya; ??> Selepas pelayan mengekstraknya, ia akan membandingkannya dengan ID Sesi yang disimpan secara setempat untuk mencari sesi pengguna tertentu Kemudian mendapatkan status sesi; komunikasi antara pelanggan dan pelayan menjadi komunikasi stateful; dilakukan melalui protokol penyulitan pelayan sendiri;

  • Perbezaan daripada Kuki:

  • Keselamatan:

    Kuki adalah disimpan di bahagian pelanggan dan boleh diusik sesuka hati, manakala Sesi disimpan di bahagian pelayan dan tidak boleh dipalsukan, jadi Sesi lebih selamat;

    Jenis nilai akses adalah berbeza :
  • Kuki hanya menyokong data rentetan, dan Sesi boleh menyimpan sebarang jenis data
  • Tempoh sah adalah berbeza:
  • Kuki boleh ditetapkan Untuk mengekalkannya dalam jangka masa yang lama, Sesi biasanya mempunyai masa tamat tempoh yang lebih pendek;

Saiz storan berbeza: Data yang disimpan oleh kuki tidak boleh melebihi 4K; pelajar mungkin terfikir di sini, adakah

hanya menyimpan
    dalam
  • pada pelanggan?
  • Bingo
, memang begitulah keadaannya, mari kita lihat di bawah

    2.3 Carta aliran pengesahan Sesi-Kuki
  • 2.4 Analisis Langkah-langkah Pengesahan Sesi-Kuki
  • Pelanggan:
Hantar maklumat log masuk nama pengguna/kata laluan ke pelayan untuk meminta pengesahan log masuk

Session-CookieSessionCookiePelayan:

Sahkan maklumat log masuk, pengesahan diluluskan Kemudian secara automatik; buat Sesi (simpan Sesi dalam memori atau dalam Redis), kemudian jana kelayakan identiti sesi rentetan pengenalan unik

(biasa dipanggil ) untuk Sesi ini dan tambahkannya dalam pengepala respons Tetapkan pengecam unik ini dalam ;

Nota: Anda boleh menggunakan tandatangan untuk menyulitkan , dan pelayan akan menyahsulitnya berdasarkan kekunci yang sepadan (langkah pilihan)

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

Pelanggan:

Selepas menerima respons daripada pelayan, ia akan menghuraikan pengepala respons dan secara automatik menyimpan dalam kuki tempatan Pelayar adalah seperti berikut Semasa membuat HTTP permintaan, pengepala permintaan secara automatik akan disertakan dengan maklumat kuki di bawah nama domain;

    Pelayan:
  • akan menghuraikan pengepala permintaan Kuki apabila menerima permintaan pelanggan.

    , dan kemudian gunakan ini untuk mencari pelanggan yang disimpan oleh pelayan, dan kemudian tentukan sama ada permintaan itu sah; 2.5 Sesi -Kelebihan Kuki

  • Kuki adalah ringkas dan mudah digunakansession_idData sesi disimpan di bahagian pelayan, yang lebih mudah diurus berbanding JWT , iaitu, apabila pengguna log masuk dan Untuk log keluar secara aktif, anda hanya perlu menambah dan memadam Sesi yang sepadan, yang sesuai untuk pengurusansidSet-CookieHanya operasi bahagian belakang diperlukan, dan bahagian hadapan boleh dikendalikan tanpa sebarang rasa;

    sid secret2.6 Kelemahan Session-Cookie

    • Bergantung pada Kuki Setelah pengguna melumpuhkan Kuki pada penyemak imbas, maka GG Smecta hilang
    • Kuki mendedahkan data dalam penyemak imbas, meningkatkan risiko kecurian data. Risiko (mudah diserang oleh CSRF, dsb.);
    • Sesi disimpan pada pelayan, yang meningkatkan overhed pelayan Apabila bilangan pengguna ramai, ia akan mengurangkan prestasi pelayan dengan ketara
    • Sokongan untuk terminal mudah alih Tidak mesra seksual;

    2.7 Senario Penggunaan

      Terpakai pada tapak web umumnya sederhana dan besar (kecuali APP mudah alih) ;
    • Memandangkan sesi umum perlu disimpan secara berpusat pada pelayan memori (seperti Redis), ini akan meningkatkan belanjawan pelayan, jadi jika belanjawan tidak mencukupi, sila pilih dengan teliti ;

    2.8 Perpustakaan Sesi Disyorkan yang biasa digunakan pada bahagian hadapan

      Gunakan ekspres:
    • sesi-ekspres
    • Gunakan koa:
    • koa -sesi

    3 pengesahan Token


    Sekarang. kami telah mengetahui bahawa beberapa kelemahan

    dan Penyelenggaraan Sesi menyebabkan masalah besar kepada pelayan. Adakah terdapat cara yang lebih baik? Session-Cookie

    Kemudian

    wujud Token

    3.1 Apakah Token

    ialah token . Apabila klien mengakses pelayan, pelayan akan mengeluarkan token selepas lulus pengesahan, klien boleh membawa token untuk mengakses pelayan hanya perlu mengesahkan kesahihan token. Token

    Ringkasan dalam satu ayat;

    Kelayakan sumber diperlukan untuk mengakses antara muka sumber (API)

    Komposisi Token Am:

    uid (identiti unik pengguna) masa (cap waktu masa semasa) tanda (tandatangan, beberapa digit pertama Token dimampatkan menjadi A perenambelasan rentetan panjang tertentu)

    Carta alir pengesahan token:

    [Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

    Langkah-langkah pengesahan token Analisis:

    • Pelanggan: Masukkan nama pengguna dan kata laluan untuk meminta pengesahan log masuk; meminta untuk mengesahkan nama pengguna dan kata laluan; selepas pengesahan berjaya, pelayan akan mengeluarkan Token dan menghantar Token kepada pelanggan

    • Pelanggan: Selepas menerima Token; , ia perlu disimpan di bahagian web biasanya menyimpannya dalam localStorage atau Cookie, dan APP asli mudah alih biasanya disimpan dalam cache setempat; permintaan: Apabila meminta sumber API daripada pelayan, Token dihantar ke pelayan melalui medan Keizinan pengepala permintaan HTTP atau kaedah lain; > menerima permintaan, dan kemudian mengesahkan Token yang terkandung dalam permintaan pelanggan Jika pengesahan berjaya, data yang diminta akan dikembalikan kepada pelanggan, jika tidak, pemulangan akan ditolak (401); >

    • Kelebihan Token:
    • Pelayan tidak mempunyai kewarganegaraan dan mempunyai kebolehskalaan yang baik:
    • Mekanisme Token tidak memerlukan storan sesi di bahagian pelayan ( Sesi), kerana Token itu sendiri mengandungi maklumat yang berkaitan dengan pengguna yang dikenal pasti, yang sesuai untuk berkongsi status pengguna antara pelbagai perkhidmatan
    • Menyokong peranti mudah alih APP

    • Keselamatan yang baik:

      Mengelakkan serangan CSRF dengan berkesan (kerana kuki tidak diperlukan)

      Sokong panggilan merentas program:
    • Kerana kuki tidak membenarkan akses merentas domain dan Token tidak mempunyai masalah ini

    Kelemahan Token:

    • Kerjasama:
    • Memerlukan front-end dan back-end kerjasama;
    • Lebar jalur diduduki:
    • Dalam keadaan biasa, ia lebih besar daripada
    • , menggunakan lebih banyak trafik dan menduduki lebih lebar jalur
    • Isu prestasi:
    • Walaupun token disahkan Tidak perlu mengakses pangkalan data atau perkhidmatan jauh untuk pengesahan kebenaran, tetapi operasi seperti penyulitan dan penyahsulitan Token diperlukan, jadi ia akan menggunakan lebih banyak prestasi
    • Kesahan pendek tempoh:
    Untuk mengelakkan Token dicuri, Secara amnya, tempoh sah Token akan ditetapkan lebih pendek, jadi terdapat

      3.2 Apakah itu Refresh Token? >
    • Token yang digunakan untuk pengesahan oleh antara muka perniagaan, kami memanggilnya .
    • Atas sebab keselamatan, tempoh sah
    • kami biasanya ditetapkan menjadi lebih pendek untuk mengelak daripada dicuri. Walau bagaimanapun, tempoh sah yang terlalu singkat akan menyebabkan kerap tamat tempoh Apakah yang perlu saya lakukan selepas tamat tempoh? sidSalah satu cara ialah:
    • , sangat menyusahkan untuk membenarkan pengguna log masuk semula untuk mendapatkan Token baharu;

      另外一種辦法是:再來一個(gè) Token,一個(gè)專門生成 Access Token 的 Token,我們稱為 Refresh Token;

      • Access Token: 用來訪問業(yè)務(wù)接口,由于有效期足夠短,盜用風(fēng)險(xiǎn)小,也可以使請(qǐng)求方式更寬松靈活;
      • Refresh Token: 用來獲取 Access Token,有效期可以長(zhǎng)一些,通過獨(dú)立服務(wù)和嚴(yán)格的請(qǐng)求方式增加安全性;由于不常驗(yàn)證,也可以如前面的 Session 一樣處理;

      Refresh Token 的認(rèn)證流程圖:

      [Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

      Refresh Token 認(rèn)證步驟解析:

      • 客戶端: 輸入用戶名和密碼請(qǐng)求登錄校驗(yàn);

      • 服務(wù)端: 收到請(qǐng)求,驗(yàn)證用戶名與密碼;驗(yàn)證成功后,服務(wù)端會(huì)簽發(fā)一個(gè) Access TokenRefresh Token 并返回給客戶端;

      • 客戶端:Access TokenRefresh Token 存儲(chǔ)在本地;

      • 客戶端發(fā)送請(qǐng)求: 請(qǐng)求數(shù)據(jù)時(shí),攜帶 Access Token 傳輸給服務(wù)端;

      • 服務(wù)端:

        • 驗(yàn)證 Access Token 有效:正常返回?cái)?shù)據(jù)
        • 驗(yàn)證 Access Token 過期:拒絕請(qǐng)求
      • 客戶端 ( Access Token 已過期) 則重新傳輸 Refresh Token 給服務(wù)端;

      • 服務(wù)端 ( Access Token 已過期) 驗(yàn)證 Refresh Token ,驗(yàn)證成功后返回新的 Access Token 給客戶端;

      • 客戶端: 重新攜帶新的 Access Token 請(qǐng)求接口;

      3.3 Token 和 Session-Cookie 的區(qū)別

      Session-CookieToken 有很多類似的地方,但是 Token 更像是 Session-Cookie 的升級(jí)改良版。

      • 存儲(chǔ)地不同: Session 一般是存儲(chǔ)在服務(wù)端;Token 是無狀態(tài)的,一般由前端存儲(chǔ);
      • 安全性不同: Session 和 Token 并不矛盾,作為身份認(rèn)證 Token 安全性比 Session 好,因?yàn)槊恳粋€(gè)請(qǐng)求都有簽名還能防止監(jiān)聽以及重放攻擊;
      • 支持性不同: Session-Cookie 認(rèn)證需要靠瀏覽器的 Cookie 機(jī)制實(shí)現(xiàn),如果遇到原生 NativeAPP 時(shí)這種機(jī)制就不起作用了,或是瀏覽器的 Cookie 存儲(chǔ)功能被禁用,也是無法使用該認(rèn)證機(jī)制實(shí)現(xiàn)鑒權(quán)的;而 Token 驗(yàn)證機(jī)制豐富了客戶端類型。

      如果你的用戶數(shù)據(jù)可能需要和第三方共享,或者允許第三方調(diào)用 API 接口,用 Token 。如果永遠(yuǎn)只是自己的網(wǎng)站,自己的 App,用什么就無所謂了。

      4. JWT(JSON Web Token)鑒權(quán)


      通過第三節(jié),我們知道了 Token 的使用方式以及組成,我們不難發(fā)現(xiàn),服務(wù)端驗(yàn)證客戶端發(fā)送過來的 Token 時(shí),還需要查詢數(shù)據(jù)庫獲取用戶基本信息,然后驗(yàn)證 Token 是否有效;

      這樣每次請(qǐng)求驗(yàn)證都要查詢數(shù)據(jù)庫,增加了查庫帶來的延遲等性能消耗;

      那么這時(shí)候業(yè)界常用的 JWT 就應(yīng)運(yùn)而生了?。?!

      4.1 什么是 JWT

      JWTAuth0 提出的通過 對(duì) JSON 進(jìn)行加密簽名來實(shí)現(xiàn)授權(quán)驗(yàn)證的方案;

      就是登錄成功后將相關(guān)用戶信息組成 JSON 對(duì)象,然后對(duì)這個(gè)對(duì)象進(jìn)行某種方式的加密,返回給客戶端; 客戶端在下次請(qǐng)求時(shí)帶上這個(gè) Token; 服務(wù)端再收到請(qǐng)求時(shí)校驗(yàn) token 合法性,其實(shí)也就是在校驗(yàn)請(qǐng)求的合法性。

      4.2 JWT 的組成

      JWT 由三部分組成: Header 頭部Payload 負(fù)載Signature 簽名

      它是一個(gè)很長(zhǎng)的字符串,中間用點(diǎn)(.)分隔成三個(gè)部分。列如 :

?eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Header 頭部:

在 Header 中通常包含了兩部分:

  • typ:代表 Token 的類型,這里使用的是 JWT 類型;
  • alg:使用的 Hash 算法,例如 HMAC SHA256 或 RSA.
?{
???"alg":?"HS256",
???"typ":?"JWT"
?}

Payload 負(fù)載:

它包含一些聲明 Claim (實(shí)體的描述,通常是一個(gè) User 信息,還包括一些其他的元數(shù)據(jù)) ,用來存放實(shí)際需要傳遞的數(shù)據(jù),JWT 規(guī)定了7個(gè)官方字段:

  • iss (issuer):簽發(fā)人
  • exp (expiration time):過期時(shí)間
  • sub (subject):主題
  • aud (audience):受眾
  • nbf (Not Before):生效時(shí)間
  • iat (Issued At):簽發(fā)時(shí)間
  • jti (JWT ID):編號(hào)

除了官方字段,你還可以在這個(gè)部分定義私有字段,下面就是一個(gè)例子。

?{
???"sub":?"1234567890",
???"name":?"John?Doe",
???"admin":?true
?}

Signature 簽名

Signature 部分是對(duì)前兩部分的簽名,防止數(shù)據(jù)篡改。

首先,需要指定一個(gè)密鑰(secret)。這個(gè)密鑰只有服務(wù)器才知道,不能泄露給用戶。然后,使用 Header 里面指定的簽名算法(默認(rèn)是 HMAC SHA256),按照下面的公式產(chǎn)生簽名。

?HMACSHA256(
???base64UrlEncode(header)?+?"."?+
???base64UrlEncode(payload),
???secret)

4.3 JWT 的使用方式

客戶端收到服務(wù)器返回的 JWT,可以儲(chǔ)存在 Cookie 里面,也可以儲(chǔ)存在 localStorage。

此后,客戶端每次與服務(wù)器通信,都要帶上這個(gè) JWT。你可以把它放在 Cookie 里面自動(dòng)發(fā)送,但是這樣不能跨域,所以更好的做法是放在 HTTP 請(qǐng)求的頭信息Authorization字段里面。

?Authorization:?Bearer?<token></token>

4.4 JWT 的認(rèn)證流程圖

其實(shí) JWT 的認(rèn)證流程與 Token 的認(rèn)證流程差不多,只是不需要再單獨(dú)去查詢數(shù)據(jù)庫查找用戶用戶;簡(jiǎn)要概括如下:

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

4.5 JWT 的優(yōu)點(diǎn)

  • 不需要在服務(wù)端保存會(huì)話信息(RESTful API 的原則之一就是無狀態(tài)),所以易于應(yīng)用的擴(kuò)展,即信息不保存在服務(wù)端,不會(huì)存在 Session 擴(kuò)展不方便的情況;
  • JWT 中的 Payload 負(fù)載可以存儲(chǔ)常用信息,用于信息交換,有效地使用 JWT,可以降低服務(wù)端查詢數(shù)據(jù)庫的次數(shù)

4.6 JWT 的缺點(diǎn)

  • 加密問題: JWT 默認(rèn)是不加密,但也是可以加密的。生成原始 Token 以后,可以用密鑰再加密一次。
  • 到期問題: 由于服務(wù)器不保存 Session 狀態(tài),因此無法在使用過程中廢止某個(gè) Token,或者更改 Token 的權(quán)限。也就是說,一旦 JWT 簽發(fā)了,在到期之前就會(huì)始終有效,除非服務(wù)器部署額外的邏輯。

4.7 前端常用的 JWT 庫推薦

5. 單點(diǎn)登錄(Single Sign On)


前面我們已經(jīng)知道了,在同域下的客戶端/服務(wù)端認(rèn)證系統(tǒng)中,通過客戶端攜帶憑證,可以維持一段時(shí)間內(nèi)的登錄狀態(tài)。

但隨著企業(yè)的發(fā)展,一個(gè)大型系統(tǒng)里可能包含 n 多子系統(tǒng),用戶在操作不同的系統(tǒng)時(shí),需要多次登錄,很麻煩,那么單點(diǎn)登錄(SSO) 就可以很好的解決這個(gè)問題的,在多個(gè)應(yīng)用系統(tǒng)中,只需要登錄一次,就可以訪問其他相互信任的應(yīng)用系統(tǒng)。

  • 例如登錄天貓,淘寶也會(huì)自動(dòng)登錄;
  • 登錄百度貼吧,百度網(wǎng)盤也會(huì)自動(dòng)登錄;

5.1 同域下的 SSO(主域名相同)

當(dāng)百度網(wǎng)站存在兩個(gè)相同主域名下的貼吧子系統(tǒng)?tieba.baidu.com?和網(wǎng)盤子系統(tǒng)?pan.baidu.com?時(shí),以下為他們實(shí)現(xiàn) SSO 的步驟:

  • 客戶端: 用戶訪問某個(gè)子系統(tǒng)時(shí)(例如?tieba.baidu.com),如果沒有登錄,則跳轉(zhuǎn)至 SSO 認(rèn)證中心提供的登錄頁面進(jìn)行登錄;

  • 服務(wù)端: 登錄認(rèn)證后,服務(wù)端把登錄用戶的信息存儲(chǔ)于 Session 中,并且附加在響應(yīng)頭的?Set-Cookie?字段中,設(shè)置 Cookie 的 Domain 為 .baidu.com ;

  • 客戶端:再次發(fā)送請(qǐng)求時(shí),攜帶主域名 Domain 下的 Cookie 給服務(wù)器,此時(shí)服務(wù)端就可以通過該 Cookie 來驗(yàn)證登錄狀態(tài)了;

其實(shí)我們不難發(fā)現(xiàn),這就是我們上面講的 Session-Cookie 認(rèn)證 登錄方式; 但如果是不同域呢?畢竟不同域之間 Cookie 是不共享的,那怎么辦?

5.2 跨域下的 SSO(主域名不同)

Dalam laman web beli-belah biasa kami Tmall (tmall.com) dan Taobao (taobao.com), kami hanya perlu log masuk ke salah satu sistem, dan sistem lain akan log masuk secara lalai selepas membukanya kita buat ini?

Kemudian ada CAS(Central Authentication Service)中央授權(quán)服務(wù), jadi mari kita bincangkan dahulu tentang proses CAS;

Carta alir pengesahan CAS di bawah log masuk tunggal:

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

Penjelasan terperinci tentang langkah pengesahan CAS di bawah log masuk tunggal:

  • Pelanggan: Mula mengakses sistem A;

  • Sistem A: Didapati bahawa pengguna tidak log masuk dan dialihkan ke perkhidmatan pengesahan CAS (sso.com) . Pada masa yang sama, parameter alamat URL berjaya membawa log masuk kemudian kembali ke pautan halaman sistem A (sso.com/login?redir…

  • <.>

    Perkhidmatan pengesahan CAS: ditemui dalam kuki permintaan Tiada sijil tiket log masuk (TGC), jadi perkhidmatan pengesahan CAS menentukan bahawa pengguna berada dalam keadaan , mengubah hala halaman pengguna ke Antara muka log masuk CAS, dan pengguna melakukan operasi log masuk pada halaman log masuk CAS ??>未登錄

    Pelanggan:
  • Masukkan nama pengguna dan kata laluan untuk pengesahan sistem CAS ??>
  • Perkhidmatan pengesahan CAS:

    Sahkan maklumat pengguna, Dan masukkan ke dalam Sesinya sendiri, dan tuliskannya dalam bentuk Set-Cookie di bawah domain yang Domainnya pada masa yang sama ,

    dijana, dan kemudian diubah hala ke alamat sistem A. Alamat diubah hala mengandungi ST Dijana (alamat ubah hala:
  • www.taobao.com?token=ST-345678)
  • 生成 TGCsso.com Sistem A: 授權(quán)令牌 ST (Service Ticket) memegang ST Hantar permintaan kepada perkhidmatan pengesahan CAS, dan perkhidmatan pengesahan CAS mengesahkan kesahihan tiket (ST Selepas pengesahan berjaya, Sistem A tahu bahawa pengguna telah log masuk ke CAS (ST boleh disimpan dalam Cookie atau setempat), dan pelayan Sistem A menggunakannya (ST) mencipta sesi dengan pengguna, dipanggil sesi separa dan mengembalikan sumber yang dilindungi ??>

  • Di sini pelanggan boleh berinteraksi dengan gembira dengan Sistem A~
  • Pelanggan:
Mula mengakses sistem B;

    Sistem B:
  • Ditemui Pengguna tidak log masuk, diubah hala ke perkhidmatan pengesahan SSO dan menghantar alamatnya sendiri sebagai parameter, dan melampirkan nilai kuki di bawah domain sso.com iaitu TGC yang dijana dalam langkah kelima;

  • Perkhidmatan Pengesahan CAS:
  • Pusat Perkhidmatan Pengesahan CAS mendapati bahawa pengguna mempunyai log masuk, melompat kembali ke alamat Sistem B, dan melampirkan tiket (ST);

  • Sistem B:
  • Dapatkan tiket (ST) dan pergi ke perkhidmatan pengesahan CAS untuk mengesahkan kesahihan tiket (ST). Selepas pengesahan berjaya, pelanggan juga boleh berinteraksi dengan sistem B~

  • (PS: Rasanya agak kekok untuk berada di kedua-dua belah lorong~)
  • Perkara yang perlu diperhatikan di bawah log masuk tunggal:

Seperti yang ditunjukkan dalam proses dalam rajah, kami mendapati bahawa

selepas pengeluaran
, Pengalihan terus sebenarnya lebih mudah untuk dicuri, jadi kami perlu menjana satu lagi Token pengesahan baharu selepas Sistem A atau Sistem B berjaya mengesahkan CAS (langkah 14 dan 11 dalam rajah) Kembali kepada klien untuk penyimpanan;

CAS umumnya menyediakan empat antara muka:
  • CAS 認(rèn)證服務(wù): antara muka log masuk, digunakan untuk log masuk ke perkhidmatan kebenaran pusat授權(quán)令牌 ST

  • : Antara muka log keluar, digunakan untuk log keluar daripada perkhidmatan kebenaran pusat
  • : Digunakan untuk mengesahkan sama ada pengguna log masuk ke perkhidmatan kebenaran pusat
    • /login: Digunakan untuk membenarkan setiap Perkhidmatan mengesahkan sama ada pengguna telah log masuk ke perkhidmatan kebenaran pusat
    • /logout
    • Tiket yang dijana oleh CAS: /validate
    • /serviceValidateTGT (Ticket Grangting Ticket)
    • : TGT dikeluarkan oleh CAS untuk pengguna
    Dengan TGT, pengguna boleh membuktikan bahawa mereka telah berjaya log masuk ke CAS.
  • TGC: Kuki Pemberian Tiket:

    Pelayan CAS menjana TGT dan memasukkannya ke dalam Sesinya sendiri, dan TGC ialah pengecam unik (SessionId) bagi Sesi ini, yang diletakkan pada penyemak imbas dalam bentuk Kuki Ia adalah kelayakan yang digunakan oleh Pelayan CAS untuk mengenal pasti pengguna.
    • ST (Tiket Perkhidmatan) : ST ialah tiket yang dikeluarkan oleh CAS untuk pengguna mengakses Perkhidmatan tertentu. 登錄票據(jù)
    • 6. OAuth 2.0
    • Apabila kita sebenarnya melayari laman web, apabila kita log masuk, selain daripada memasukkan semasa Selain akaun tapak web dan kata laluan, kami juga mendapati bahawa anda boleh log masuk melalui QQ atau WeChat pihak ketiga, jadi bagaimana untuk melakukan ini, kita perlu bercakap tentang
    OAuth
  • .

OAuth 協(xié)議又有 1.0 和 2.0 兩個(gè)版本,2.0 版整個(gè)授權(quán)驗(yàn)證流程更簡(jiǎn)單更安全,也是目前最主要的用戶身份驗(yàn)證和授權(quán)方式。

6.1 什么是 OAuth 2.0?

OAuth 是一個(gè)開放標(biāo)準(zhǔn),允許用戶授權(quán)第三方網(wǎng)站 (CSDN、思否等) 訪問他們存儲(chǔ)在另外的服務(wù)提供者上的信息,而不需要將用戶名和密碼提供給第三方網(wǎng)站;

常見的提供 OAuth 認(rèn)證服務(wù)的廠商: 支付寶、QQ、微信、微博

簡(jiǎn)單說,OAuth 就是一種授權(quán)機(jī)制。數(shù)據(jù)的所有者告訴系統(tǒng),同意授權(quán)第三方應(yīng)用進(jìn)入系統(tǒng),獲取這些數(shù)據(jù)。系統(tǒng)從而產(chǎn)生一個(gè)短期的進(jìn)入令牌(Token),用來代替密碼,供第三方應(yīng)用使用。

令牌與密碼的差異:

令牌(Token)密碼(Password) 的作用是一樣的,都可以進(jìn)入系統(tǒng),但是有三點(diǎn)差異。

  • 令牌是短期的,到期會(huì)自動(dòng)失效: 用戶自己無法修改。密碼一般長(zhǎng)期有效,用戶不修改,就不會(huì)發(fā)生變化。

  • 令牌可以被數(shù)據(jù)所有者撤銷,會(huì)立即失效。

  • 令牌有權(quán)限范圍(scope): 對(duì)于網(wǎng)絡(luò)服務(wù)來說,只讀令牌就比讀寫令牌更安全。密碼一般是完整權(quán)限。

OAuth 2.0 對(duì)于如何頒發(fā)令牌的細(xì)節(jié),規(guī)定得非常詳細(xì)。具體來說,一共分成四種授權(quán)模式 (Authorization Grant) ,適用于不同的互聯(lián)網(wǎng)場(chǎng)景。

無論哪個(gè)模式都擁有三個(gè)必要角色:客戶端、授權(quán)服務(wù)器、資源服務(wù)器,有的還有用戶(資源擁有者),下面簡(jiǎn)單介紹下四種授權(quán)模式。

6.2 授權(quán)碼模式

授權(quán)碼(Authorization Code Grant) 方式,指的是第三方應(yīng)用先申請(qǐng)一個(gè)授權(quán)碼,然后再用該碼獲取令牌。

這種方式是最常用的流程,安全性也最高,它適用于那些有后端服務(wù)的 Web 應(yīng)用。授權(quán)碼通過前端傳送,令牌則是儲(chǔ)存在后端,而且所有與資源服務(wù)器的通信都在后端完成。這樣的前后端分離,可以避免令牌泄漏。

一句話概括:客戶端換取授權(quán)碼,客戶端使用授權(quán)碼換token,客戶端使用token訪問資源

授權(quán)碼模式的步驟詳解

  • 客戶端:

    打開網(wǎng)站 A,點(diǎn)擊登錄按鈕,請(qǐng)求 A 服務(wù),A 服務(wù)重定向 (重定向地址如下) 至授權(quán)服務(wù)器 (如QQ、微信授權(quán)服務(wù))。

    ?https://qq.com/oauth/authorize?
    ???response_type=code&
    ???client_id=CLIENT_ID&
    ???redirect_uri=CALLBACK_URL&
    ???scope=read

    上面 URL 中,response_type 參數(shù)表示要求返回授權(quán)碼(code),client_id 參數(shù)讓 B 知道是誰在請(qǐng)求,redirect_uri 參數(shù)是 B 接受或拒絕請(qǐng)求后的跳轉(zhuǎn)網(wǎng)址,scope 參數(shù)表示要求的授權(quán)范圍(這里是只讀)

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

  • 授權(quán)服務(wù)器:

    授權(quán)服務(wù)網(wǎng)站 會(huì)要求用戶登錄,然后詢問是否同意給予 A 網(wǎng)站授權(quán)。用戶表示同意,這時(shí)授權(quán)服務(wù)網(wǎng)站 就會(huì)跳回 redirect_uri 參數(shù)指定的網(wǎng)址。跳轉(zhuǎn)時(shí),會(huì)傳回一個(gè)授權(quán)碼,就像下面這樣。

    https://a.com/callback?code=AUTHORIZATION_CODE

    上面 URL 中,code 參數(shù)就是授權(quán)碼。

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

  • 網(wǎng)站 A 服務(wù)器:

    拿到授權(quán)碼以后,就可以向 授權(quán)服務(wù)器 (qq.com) 請(qǐng)求令牌,請(qǐng)求地址如下:

    ?https://qq.com/oauth/token?
    ??client_id=CLIENT_ID&
    ??client_secret=CLIENT_SECRET&
    ??grant_type=authorization_code&
    ??code=AUTHORIZATION_CODE&
    ??redirect_uri=CALLBACK_URL

    上面 URL 中,client_id 參數(shù)和 client_secret 參數(shù)用來讓授權(quán)服務(wù)器 確認(rèn) A 的身份(client_secret 參數(shù)是保密的,因此只能在后端發(fā)請(qǐng)求),grant_type參數(shù)的值是AUTHORIZATION_CODE,表示采用的授權(quán)方式是授權(quán)碼,code 參數(shù)是上一步拿到的授權(quán)碼,redirect_uri 參數(shù)是令牌頒發(fā)后的回調(diào)網(wǎng)址。

1[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

  • 授權(quán)服務(wù)器:

    收到請(qǐng)求以后,驗(yàn)證通過,就會(huì)頒發(fā)令牌。具體做法是向 redirect_uri 指定的網(wǎng)址,發(fā)送一段 JSON 數(shù)據(jù)。

    ?{????
    ???"access_token":"ACCESS_TOKEN",
    ???"token_type":"bearer",
    ???"expires_in":2592000,
    ???"refresh_token":"REFRESH_TOKEN",
    ???"scope":"read",
    ???"uid":100101,
    ???"info":{...}
    ?}

    上面 JSON 數(shù)據(jù)中,access_token 字段就是令牌,A 網(wǎng)站在后端拿到了,然后返回給客戶端即可。

1[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

6.3 隱藏式模式(Implicit Grant)

有些 Web 應(yīng)用是純前端應(yīng)用,沒有后端。這時(shí)就不能用上面的方式了,必須將令牌儲(chǔ)存在前端。OAuth2.0 就規(guī)定了第二種方式,允許直接向前端頒發(fā)令牌。這種方式?jīng)]有授權(quán)碼這個(gè)中間步驟,所以稱為(授權(quán)碼)"隱藏式"(implicit)。

一句話概括:客戶端讓用戶登錄授權(quán)服務(wù)器換token,客戶端使用token訪問資源。

隱藏式模式的步驟詳解

  • 客戶端:

    打開網(wǎng)站 A,A 網(wǎng)站提供一個(gè)鏈接,要求用戶跳轉(zhuǎn)到 授權(quán)服務(wù)器,授權(quán)用戶數(shù)據(jù)給 A 網(wǎng)站使用。如下鏈接:

    ?https://qq.com/oauth/authorize?
    ???response_type=token&
    ???client_id=CLIENT_ID&
    ???redirect_uri=CALLBACK_URL&
    ???scope=read

    上面 URL 中,response_type參數(shù)為token,表示要求直接返回令牌。

  • 授權(quán)服務(wù)器:

    用戶跳轉(zhuǎn)到授權(quán)服務(wù)器,登錄后同意給予 A 網(wǎng)站授權(quán)。這時(shí),授權(quán)服務(wù)器就會(huì)跳回redirect_uri 參數(shù)指定的跳轉(zhuǎn)網(wǎng)址,并且把令牌作為 URL 參數(shù),傳給 A 網(wǎng)站。

    ?https://a.com/callback#token=ACCESS_TOKEN

    上面 URL 中,token參數(shù)就是令牌,A 網(wǎng)站因此直接在前端拿到令牌。

1[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

注意:

  • 令牌的位置是 URL 錨點(diǎn)(fragment),而不是查詢字符串(querystring),這是因?yàn)?OAuth 2.0 允許跳轉(zhuǎn)網(wǎng)址是 HTTP 協(xié)議,因此存在"中間人攻擊"的風(fēng)險(xiǎn),而瀏覽器跳轉(zhuǎn)時(shí),錨點(diǎn)不會(huì)發(fā)到服務(wù)器,就減少了泄漏令牌的風(fēng)險(xiǎn)。

  • 這種方式把令牌直接傳給前端,是很不安全的。因此,只能用于一些安全要求不高的場(chǎng)景,并且令牌的有效期必須非常短,通常就是會(huì)話期間(session)有效,瀏覽器關(guān)掉,令牌就失效了。

6.4 用戶名密碼式模式(Password Credentials Grant)

如果你高度信任某個(gè)應(yīng)用,OAuth 2.0 也允許用戶把用戶名和密碼,直接告訴該應(yīng)用。該應(yīng)用就使用你的密碼,申請(qǐng)令牌,這種方式稱為"密碼式"(password)。

一句話概括:用戶在客戶端提交賬號(hào)密碼換token,客戶端使用token訪問資源。

密碼式模式的步驟詳解

  • 客戶端:

    A 網(wǎng)站要求用戶提供 授權(quán)服務(wù)器(qq.com) 的用戶名和密碼。拿到以后,A 就直接向 授權(quán)服務(wù)器 請(qǐng)求令牌。

    ?https://oauth.b.com/token?
    ???grant_type=password&
    ???username=USERNAME&
    ???password=PASSWORD&
    ???client_id=CLIENT_ID

    上面 URL 中,grant_type參數(shù)是授權(quán)方式,這里的password表示"密碼式",usernamepassword授權(quán)服務(wù)器 的用戶名和密碼。

  • 授權(quán)服務(wù)器:

    授權(quán)服務(wù)器 驗(yàn)證身份通過后,直接給出令牌。

    注意,這時(shí)不需要跳轉(zhuǎn),而是把令牌放在 JSON 數(shù)據(jù)里面,作為 HTTP 回應(yīng),A 網(wǎng)站因此拿到令牌。

這種方式需要用戶給出自己的用戶名/密碼,顯然風(fēng)險(xiǎn)很大,因此只適用于其他授權(quán)方式都無法采用的情況,而且必須是用戶高度信任的應(yīng)用。

6.5 客戶端模式(Client Credentials Grant)

客戶端模式指客戶端以自己的名義,而不是以用戶的名義,向授權(quán)服務(wù)器 進(jìn)行認(rèn)證。

主要適用于沒有前端的命令行應(yīng)用。

一句話概括:客戶端使用自己的標(biāo)識(shí)換token,客戶端使用token訪問資源。

客戶端模式的步驟詳解

  • 客戶端:

    客戶端向授權(quán)服務(wù)器 進(jìn)行身份認(rèn)證,并要求一個(gè)訪問令牌。請(qǐng)求鏈接地址:

    ?https://oauth.b.com/token?
    ???grant_type=client_credentials&
    ???client_id=CLIENT_ID&
    ???client_secret=CLIENT_SECRET

    上面 URL 中,grant_type參數(shù)等于client_credentials表示采用憑證式,client_idclient_secret用來讓授權(quán)服務(wù)器 確認(rèn) A 的身份。

  • 授權(quán)服務(wù)器:

    授權(quán)服務(wù)器 驗(yàn)證通過以后,直接返回令牌。

注意:這種方式給出的令牌,是針對(duì)第三方應(yīng)用的,而不是針對(duì)用戶的,即有可能多個(gè)用戶共享同一個(gè)令牌。

6.5 授權(quán)模式選型

按授權(quán)需要的多端情況:

模式 需要前端 需要后端 需要用戶響應(yīng) 需要客戶端密鑰
授權(quán)碼模式 Authorization Code ? ? ? ?
隱式授權(quán)模式 Implicit Grant ? ? ? ?
密碼授權(quán)模式 Password Grant ? ? ? ?
客戶端授權(quán)模式 Client Credentials ? ? ? ?

Dikelaskan mengikut jenis pelanggan dan pemilik token akses:

1[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

Perkara di atas adalah agak mudah Asasnya logik OAuth2.0 dijelaskan Jika anda ingin mengetahui dengan lebih terperinci, anda boleh melihat dokumen rasmi OAuth atau RFC 6749 anda juga boleh melihat OAuth 2.0 konsep dan ringkasan proses kebenaran Bandingkan

7 Log masuk bersekutu dan log masuk dipercayai

<.>


7.1 Apakah itu log masuk bersama

Ia merujuk kepada perkhidmatan log masuk yang merangkumi pengesahan kelayakan berbilang di Pada masa yang sama, ia juga boleh difahami Perkhidmatan log masuk yang menggunakan bukti kelayakan pihak ketiga untuk pengesahan. 聯(lián)合登錄

Dalam istilah orang awam: Untuk dua tapak web A dan B, gunakan akaun dan kata laluan tapak web B semasa melog masuk ke tapak web A, iaitu log masuk bersama, atau gunakan tapak web A semasa log masuk masuk ke laman web B. Kata laluan akaun juga merupakan log masuk bersama. Konsep

sebenarnya serupa dengan

kaedah pengesahan OAuth2.0 yang dinyatakan di atas. 用戶名密碼式模式

Senario penggunaan paling klasik ialah penggunaan H5 yang dibenamkan dalam APP Apabila pengguna memasuki H5 terbenam daripada APP, kami berharap pengguna yang log masuk dalam APP boleh mengakses sumber terhad dalam H5. tanpa Log masuk pengguna perlu log masuk untuk mengakses.

Terdapat dua idea utama di sini Satu adalah untuk melampirkan token log masuk ke parameter URL apabila melompat ke halaman H5 yang dibenamkan secara asli protokol untuk mendapatkan status log masuk dalam aplikasi.

7.2 Apakah log masuk yang dipercayai

merujuk kepada semua log masuk yang tidak memerlukan penyertaan aktif pengguna, seperti yang ditetapkan antara peranti peribadi dan pengguna Hubungan yang mengikat antara mereka ialah bukti kelayakan adalah maklumat peranti peribadi, dan pengguna tidak perlu memberikan bukti kelayakan tambahan pada masa ini. Log masuk yang dipercayai juga merujuk kepada menggunakan pustaka pengguna pihak ketiga yang agak matang untuk mengesahkan kelayakan dan log masuk ke tapak web yang sedang anda lawati. 信任登錄

Dalam istilah orang awam: Apabila tapak web A dilog masuk, anda boleh melompat terus ke tapak web B tanpa log masuk, iaitu . 信任登錄

Akaun log masuk dipercayai pihak ketiga yang biasa pada masa ini termasuk: akaun QQ Taobao, akaun Alipay, akaun Weibo, dsb.

Tidak sukar untuk mendapati bahawa OAtuth 2.0 sebenarnya adalah lambang log masuk amanah, kerana dengan OAuth log masuk kepercayaan kami dapat direalisasikan.

8 Log masuk unik


— Katakan sekarang pengurus produk membuat permintaan:

Saya mahu membolehkan pengguna log masuk hanya pada satu peranti . Pengguna dilarang log masuk berulang kali; !

8.1 Apakah log masuk unik

Log masuk unik merujuk kepada melarang berbilang orang daripada log masuk ke akaun yang sama pada masa yang sama, tingkah laku log masuk yang terakhir akan menyebabkan yang pertama pergi ke luar talian.

Ringkasnya : Selepas akaun A log masuk pada komputer A, akaun A log masuk semula menggunakan komputer B. Apabila komputer A meminta halaman, ia akan menggesa "Mulakan Semula Maklumat "Log Masuk" dan lompat ke halaman log masuk

8.2 Carta aliran log masuk unik

8.3 Penjelasan terperinci tentang langkah log masuk unik1[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

Operasi pengguna pada klien A:

Masukkan akaun minta antara muka Log masuk;

  • Ujung belakang menjana Token yang sepadan dan mengembalikannya kepada klien A, dan menyimpan status log masuk pada pelayan; Pelanggan A menyimpan Token, dan setiap permintaan membawa Token yang sepadan dalam pengepala

  • Pengguna beroperasi pada klien B:

  • Tiba-tiba Pengguna itu; memulakan operasi log masuk pada klien B. Kami akan mendapati bahawa langkah-langkahnya adalah hampir sama dengan operasi pada klien A; Kemudian hasilkan Token baharu yang sepadan; ??>

  • 9.1 Apakah itu log masuk kod QR

Log masuk kod QR imbasan biasanya ditemui dalam APP mudah alih Banyak laman web PC menyediakan fungsi pengimbasan log masuk kod QR Tidak perlu memasukkan sebarang akaun dan kata laluan pada halaman web Anda hanya perlu mendayakan sebagai WeChat, Taobao, QQ, dsb.) dsb.) Cara untuk pengguna log masuk mengimbas secara aktif 二維碼 dan kemudian mengesahkan log masuk supaya aplikasi yang sama pada PC boleh log masuk dengan cepat ialah 掃碼登錄.

9.2 Apakah itu kod QR

二維碼 Juga dikenali sebagai kod QR, kod QR biasa ialah Kod QR, nama penuh QR Quick Response ialah kaedah pengekodan yang telah menjadi sangat popular pada peranti mudah alih sejak beberapa tahun kebelakangan ini. Ia boleh menyimpan lebih banyak maklumat dan mewakili lebih banyak jenis data daripada Kod Bar tradisional.

Melalui perkara di atas, tidak sukar untuk mencari bahawa mengimbas kod QR untuk log masuk memerlukan kerjasama tiga terminal (PC端, 手機(jī)端, 服務(wù)端) untuk mencapai log masuk yang berjaya;

9.3 Carta alir pengesahan untuk mengimbas kod QR untuk log masuk

1[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

9.4 Penjelasan terperinci daripada langkah-langkah untuk mengimbas kod QR untuk log masuk ( Peringkat untuk diimbas, peringkat untuk disahkan, peringkat disahkan)

Peringkat untuk diimbas:

  • Sebelah PC:

    Buka portal log masuk kod imbasan tapak web (seperti taobao.com) atau APP (seperti WeChat a.); permintaan akan dihantar ke pelayan dengan maklumat peranti sebelah PC permintaan kod QR; permintaan, ia secara rawak menjana UUID sebagai ID kod QR, dan Kaitkan UUID dengan

    dan simpannya dalam pelayan Redis, dan kemudian kembalikan ke PC pada masa yang sama, tetapkan masa tamat tempoh , kod QR log masuk pengguna perlu dimuat semula dan diperoleh semula.

  • PC:

    Selepas menerima ID kod QR, paparkan ID kod QR dengan PC 端的設(shè)備信息 dan tunggu terminal mudah alih mengimbas kod. Dan pada masa ini, PC mula mengundi untuk menanyakan status kod QR sehingga log masuk berjaya.

  • Jika terminal mudah alih tidak diimbas, kod QR akan tamat tempoh secara automatik selepas satu tempoh masa.
  • Kod diimbas menunggu pengesahan:

    二維碼的形式

  • Versi mudah alih:

Buka APP yang sepadan dengan log masuk

pada telefon mudah alih (WeChat atau Taobao, dsb.) dan mula mengimbas dan mengenal pasti kod QR yang dipaparkan pada PC;
  • Selepas mengimbas kod QR pada telefon bimbit, ia akan secara automatik Mendapatkan ID kod QR, dan menghantar baucar maklumat log masuk terminal mudah alih (Token) dan ID kod QR sebagai parameter kepada pelayan Pada masa ini, telefon bimbit mesti dilog masuk (prasyarat untuk menggunakan log masuk imbasan ialah aplikasi terminal mudah alih dilog masuk status, supaya status log masuk boleh dikongsi).

    Pelayan:

    Selepas menerima permintaan daripada telefon bimbit, ia akan mengaitkan

    Mengapa ia perlu dikaitkan? Kerana apabila kita menggunakan WeChat dan log keluar pada terminal mudah alih, terminal PC juga harus log keluar Persatuan ini memainkan peranan ini. Kemudian Token sementara akan dijana, yang akan dikembalikan ke terminal mudah alih, dan Token sekali akan digunakan sebagai baucar untuk pengesahan.

  • Peringkat yang disahkan:

    Token 與二維碼 ID

  • Versi mudah alih:

Terima Selepas menerima maklumat pengesahan, klik butang pengesahan, dan terminal mudah alih akan membawa yang diperoleh dalam langkah sebelumnya dan menghantarnya ke pelayan untuk pengesahan; :

  • Selepas pengesahan bahagian pelayan selesai, status kod QR akan dikemas kini dan

    akan dijana untuk bahagian PC Selepas itu, pihak PC akan memegang Token ini untuk mengakses bahagian pelayan.

    臨時(shí) Token Bahagian PC:

  • Undian menunjukkan bahawa status kod QR dilog masuk, dan Token yang dihasilkan akan diperolehi, dan log masuk adalah selesai. Akses seterusnya diselesaikan berdasarkan Token.

    10 Log masuk satu klik (terpakai untuk APP asli) 正式的 Token

10.1 Log masuk dengan akaun dan kata laluan

Seperti yang kita sedia maklum, kaedah log masuk yang paling tradisional ialah log masuk dengan akaun dan kata laluan, mudah dan kasar, secara amnya tidak akan ada masalah

Kelemahan:

Tetapi kaedah ini memerlukan; pengguna untuk mengingati diri mereka Nombor akaun dan kata laluan mempunyai kos memori. Untuk mengurangkan kos memori, pengguna mungkin menggunakan set kata laluan akaun yang sama pada platform yang berbeza. Dari perspektif keselamatan, sebaik sahaja kata laluan akaun platform tertentu dibocorkan, platform lain yang digunakan oleh pengguna akan terjejas.

Selain itu, memandangkan akaun itu tiada kaitan dengan identiti peribadi, ini bermakna pengguna yang sama boleh mendaftarkan berbilang akaun berbeza, yang bermaksud pendaftaran berniat jahat mungkin berlaku.

Sehingga sistem nama sebenar wajib untuk kad telefon mudah alih diselesaikan!

10.2 Log masuk kod pengesahan nombor telefon bimbit

Dengan pembangunan Internet wayarles dan promosi sistem nama sebenar kad telefon bimbit, nombor telefon mudah alih mempunyai menjadi bukti identiti khas Berbanding dengan kata laluan akaun, nombor telefon mudah alih boleh mengesahkan identiti pengguna dengan lebih baik dan mencegah pendaftaran berniat jahat.

Walau bagaimanapun, pendaftaran nombor telefon bimbit masih memerlukan beberapa siri operasi yang membosankan: masukkan nombor telefon bimbit, tunggu kod pengesahan SMS, masukkan kod pengesahan, dan klik untuk log masuk. Keseluruhan proses mengambil masa sekurang-kurangnya dua puluh saat, dan jika anda tidak menerima mesej teks, anda perlu log masuk untuk menebusnya Masalah seperti ini boleh menyebabkan kehilangan pengguna.

Dari perspektif keselamatan, terdapat juga risiko kebocoran kod pengesahan. Jika seseorang mengetahui nombor telefon mudah alih anda dan mencuri kod pengesahan, dia juga boleh log masuk ke akaun anda.

Jadi terdapat operasi log masuk satu klik!

10.3 Apakah itu log masuk satu klik

Mari kita fikirkan, mengapa kita memerlukan kod pengesahan? Fungsi kod pengesahan adalah untuk mengesahkan bahawa nombor telefon bimbit adalah milik anda Selain menggunakan mesej teks, adakah terdapat cara lain untuk mengesahkan nombor telefon bimbit?

Jadi, protagonis kami boleh log masuk dengan satu klik.

Fungsi kod pengesahan SMS adalah untuk membuktikan bahawa pengguna halaman operasi semasa dan pengguna yang memasukkan nombor telefon bimbit adalah orang yang sama, selagi kita boleh mendapatkan telefon bimbit tersebut nombor kad yang digunakan oleh telefon bimbit semasa, kami boleh terus menggunakan nombor ini untuk log masuk. , tiada operasi tambahan diperlukan, ini adalah log masuk satu klik.

Sama ada log masuk satu klik boleh dilakukan bergantung pada sama ada pengendali membuka perkhidmatan berkaitan semasa pengendali membuka perkhidmatan berkaitan, kami kini boleh mengakses SDK yang disediakan oleh pengendali dan membayar untuk menggunakan perkhidmatan berkaitan.

Carta aliran log masuk satu klik:

1[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi

Penjelasan terperinci tentang langkah log masuk satu klik:

  • Pengamatan SDK: Panggil kaedah SDK dan masukkan AppKey dan AppSecret yang dikonfigurasikan oleh platform

  • Memanggil halaman kebenaran: Panggil SDK untuk menggunakan antara muka kebenaran SDK akan memulakan permintaan kepada operator untuk mendapatkan topeng nombor telefon mudah alih Selepas permintaan berjaya, ia akan melompat ke halaman kebenaran. Halaman kebenaran akan memaparkan topeng nombor telefon mudah alih dan perjanjian operator untuk pengesahan pengguna.

  • Bersetuju dengan kebenaran dan log masuk: Pengguna bersetuju dengan perjanjian yang berkaitan dan mengklik butang log masuk pada halaman kebenaran SDK akan meminta Token kali ini. Selepas permintaan berjaya, Token akan dihantar kepada pengguna Kembali kepada pelanggan

  • Dapatkan nombor: Hantar Token yang diperolehi kepadanya. pelayan sendiri, dan pelayan akan membawa Token dan memanggil antara muka log masuk satu klik pengendali Jika panggilan berjaya, nombor telefon bimbit akan dikembalikan. Pelayan menggunakan nombor telefon mudah alih untuk log masuk atau mendaftar, dan mengembalikan hasil operasi kepada pelanggan untuk melengkapkan log masuk satu klik.

Tiga platform terbuka pengendali utama:

Nota:

Semasa proses pengesahan, pengguna dikehendaki menghidupkan rangkaian selular peranti mudah alih tidak mempunyai kad SIM dimasukkan, atau rangkaian selular dimatikan Dalam kes rangkaian, pengesahan tidak dapat diselesaikan. Oleh itu, walaupun log masuk satu klik didayakan, ia masih perlu serasi dengan kaedah log masuk tradisional, membolehkan pengguna masih melengkapkan proses log masuk secara normal sekiranya berlaku kegagalan.

Ringkasan


Setelah mempelajari dan memahami 10 kaedah pengesahan di atas, mari kita ringkaskan secara ringkas

  • HTTP 基本認(rèn)證Sesuai untuk rangkaian dalaman, atau rangkaian yang tidak mempunyai keperluan keselamatan yang sangat tinggi;
  • dan Session-Cookie sesuai untuk kebanyakan tapak web perusahaan di pasaran, dan prestasi JWT akan lebih baik daripada Token
  • Token sesuai untuk tapak web perusahaan besar dengan banyak subsistem; >JWT
  • Sesuai untuk laman web yang perlu mendaftarkan pengguna dengan cepat; APP ;
  • 單點(diǎn)登錄
  • Artikel ini diterbitkan semula daripada: https://juejin.cn/post/7129298214959710244OAuth 2.0
  • Pengarang: Master Yi
  • 掃碼登錄
  • bahagian hadapan web一鍵登錄)
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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Topik panas

Tutorial PHP
1502
276
Kaedah dan pelaksanaan pengesahan OAuth2 dalam PHP Kaedah dan pelaksanaan pengesahan OAuth2 dalam PHP Aug 07, 2023 pm 10:53 PM

Kaedah dan pelaksanaan pengesahan OAuth2 dalam PHP Dengan pembangunan Internet, semakin banyak aplikasi perlu berinteraksi dengan platform pihak ketiga. Untuk melindungi privasi dan keselamatan pengguna, banyak platform pihak ketiga menggunakan protokol OAuth2 untuk melaksanakan pengesahan pengguna. Dalam artikel ini, kami akan memperkenalkan kaedah dan pelaksanaan pengesahan OAuth2 dalam PHP, dan melampirkan contoh kod yang sepadan. OAuth2 ialah rangka kerja kebenaran yang membolehkan pengguna membenarkan aplikasi pihak ketiga mengakses sumber mereka pada pembekal perkhidmatan lain tanpa menyebut

Kaedah pengesahan tandatangan dan aplikasinya dalam PHP Kaedah pengesahan tandatangan dan aplikasinya dalam PHP Aug 06, 2023 pm 07:05 PM

Kaedah dan Aplikasi Pengesahan Tandatangan dalam PHP Dengan perkembangan Internet, keselamatan aplikasi Web menjadi semakin penting. Pengesahan tandatangan ialah mekanisme keselamatan biasa yang digunakan untuk mengesahkan kesahihan permintaan dan menghalang akses tanpa kebenaran. Artikel ini akan memperkenalkan kaedah pengesahan tandatangan dan aplikasinya dalam PHP, dan memberikan contoh kod. 1. Apakah pengesahan tandatangan? Pengesahan tandatangan ialah mekanisme pengesahan berdasarkan kunci dan algoritma Parameter permintaan disulitkan untuk menghasilkan nilai tandatangan yang unik Pelayan kemudiannya menyahsulit permintaan dan mengesahkan tandatangan menggunakan algoritma dan kunci yang sama.

Menggunakan perpustakaan jwt-go untuk melaksanakan pengesahan dan pengesahan Token JWT dalam bahasa Go Menggunakan perpustakaan jwt-go untuk melaksanakan pengesahan dan pengesahan Token JWT dalam bahasa Go Jan 22, 2024 am 11:19 AM

Menggunakan perpustakaan jwt-go untuk melaksanakan pengesahan JWTToken dalam bahasa Go JWT (JSONWebToken) ialah kaedah pengesahan dan kebenaran ringan yang boleh membantu kami memindahkan maklumat yang selamat dan boleh dipercayai antara pengguna dan sistem berdasarkan format JSON. Dalam proses membina JWTToken, kami perlu menandatangani Payload, yang juga bermakna apabila kami menghuraikan Token pada bahagian pelayan, kami boleh mengesahkan kesahihannya. Dalam bahasa Go kita boleh

Fungsi pengesahan dan kebenaran perkhidmatan mikro dilaksanakan dalam bahasa Go Fungsi pengesahan dan kebenaran perkhidmatan mikro dilaksanakan dalam bahasa Go Aug 10, 2023 am 10:33 AM

Pengenalan kepada Fungsi Pengesahan dan Keizinan Perkhidmatan Mikro yang Dilaksanakan dalam Bahasa Go Dengan populariti seni bina perkhidmatan mikro, permintaan untuk pengesahan dan kebenaran antara perkhidmatan mikro telah meningkat secara beransur-ansur. Dalam seni bina perkhidmatan mikro, setiap perkhidmatan mikro adalah bebas dan mereka perlu dapat mengenal pasti dan mengesahkan perkhidmatan yang memanggil mereka. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan fungsi pengesahan dan kebenaran perkhidmatan mikro. Konsep Pengesahan dan Keizinan Dalam seni bina perkhidmatan mikro, pengesahan dan kebenaran adalah dua konsep yang berbeza. Pengesahan merujuk kepada proses menentukan identiti pengguna. ia melibatkan pengguna

[Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi [Perkongsian ringkasan] 10 kaedah pengesahan bahagian hadapan dan bahagian belakang yang biasa digunakan, jadi anda tidak akan keliru lagi Aug 23, 2022 pm 07:27 PM

Mengenai pengesahan bahagian hadapan, apakah maksud Token, Kuki, Sesi, JWT, log masuk tunggal, log masuk kod imbasan dan log masuk satu klik? Apakah fungsi setiap satu? Bagaimana anda biasanya melakukannya? Dan bagaimana anda menyimpannya? Jadi bagaimana anda memastikan ia selamat? Artikel berikut akan mengajar anda cara mengendalikan semua skim pengesahan di bahagian depan dan belakang, supaya anda tidak lagi keliru!

Cara menggunakan rangka kerja Hyperf untuk pengesahan antara muka Cara menggunakan rangka kerja Hyperf untuk pengesahan antara muka Oct 25, 2023 am 09:31 AM

Cara menggunakan rangka kerja Hyperf untuk pengesahan antara muka Pengesahan ialah isu keselamatan yang penting dalam pembangunan aplikasi web Ia boleh melindungi antara muka kami daripada diakses oleh pengguna yang tidak dibenarkan. Apabila menggunakan rangka kerja Hyperf untuk membangunkan antara muka, kita boleh menggunakan mekanisme pengesahan yang disediakan oleh Hyperf untuk melaksanakan pengesahan antara muka. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk pengesahan antara muka dan memberikan contoh kod khusus. 1. Memahami pengesahan antara muka Pengesahan antara muka adalah untuk menentukan sama ada pengguna mempunyai hak untuk mengakses antara muka dengan mengesahkan maklumat identiti pengguna.

Penyelesaian pengesahan API Microservice berdasarkan go-zero Penyelesaian pengesahan API Microservice berdasarkan go-zero Jun 23, 2023 am 10:10 AM

Dengan populariti seni bina perkhidmatan mikro, semakin banyak aplikasi perlu melaksanakan fungsi pengesahan API. Pengesahan API boleh melindungi data dan sumber perusahaan serta menghalang pelanggan yang tidak dibenarkan daripada menyebabkan kerosakan pada sistem. Sebagai rangka kerja untuk pembangunan pesat perkhidmatan mikro, go-zero menyediakan penyelesaian pengesahan API bahagian belakang yang mudah digunakan dan fleksibel. Apakah pengesahan API? Pengesahan API biasanya merujuk kepada mengesahkan identiti dan kebenaran klien untuk mengakses sumber melalui API. Proses ini biasanya termasuk langkah-langkah berikut: Klien menyediakan identiti (seperti menggunakan

Ajar anda langkah demi langkah cara menggunakan PHP untuk melaksanakan pengesahan berasaskan token Ajar anda langkah demi langkah cara menggunakan PHP untuk melaksanakan pengesahan berasaskan token Aug 06, 2023 pm 11:13 PM

Ajar anda langkah demi langkah cara menggunakan PHP untuk melaksanakan pengesahan berasaskan token Pengenalan: Dengan perkembangan pesat Internet dan Internet mudah alih, bilangan pengguna tapak web dan aplikasi terus meningkat, dan kawalan keselamatan dan kebenaran data pengguna telah menjadi sangat penting. Kaedah pengesahan tradisional berdasarkan nama pengguna dan kata laluan mempunyai risiko keselamatan dan kerumitan pada tahap tertentu. Mekanisme pengesahan berasaskan Token adalah selamat dan mudah. Apakah mekanisme pengesahan Token? Mekanisme pengesahan Token ialah kaedah pengesahan tanpa kewarganegaraan Selepas pengesahan log masuk pengguna berjaya, pelayan bahagian belakang