Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan pengesahan dan kebenaran dalam aplikasi PHP menggunakan JWT

Bagaimana untuk melaksanakan pengesahan dan kebenaran dalam aplikasi PHP menggunakan JWT

王林
王林asal
2023-08-03 22:17:071107semak imbas

Cara menggunakan JWT untuk melaksanakan pengesahan dan kebenaran dalam aplikasi PHP

Pengenalan:
Dengan perkembangan pesat Internet, pengesahan dan kebenaran menjadi semakin penting dalam aplikasi web. JSON Web Token (JWT) ialah mekanisme pengesahan dan kebenaran popular yang digunakan secara meluas dalam aplikasi PHP. Artikel ini akan memperkenalkan cara menggunakan JWT untuk melaksanakan pengesahan dan kebenaran dalam aplikasi PHP, dan menyediakan contoh kod untuk membantu pembaca memahami penggunaan JWT dengan lebih baik.

1. Pengenalan kepada JWT
JSON Web Token (JWT) ialah standard terbuka (RFC 7519) yang mentakrifkan cara yang ringkas dan serba lengkap untuk menyampaikan maklumat antara pihak, dihantar dengan selamat sebagai objek JSON . Maklumat ini boleh disahkan dan dipercayai kerana ia ditandatangani secara digital.
JWT terdiri daripada tiga bahagian: pengepala, muatan dan tandatangan. Pengepala biasanya mengandungi maklumat tentang algoritma dan jenis token; muatan mengandungi maklumat tuntutan tentang pengguna atau entiti lain yang digunakan untuk mengesahkan keaslian dan integriti token.

2. Aliran kerja JWT
1 Log masuk pengguna
Pengguna log masuk ke aplikasi menggunakan nama pengguna dan kata laluan mereka. Pelayan mengesahkan identiti pengguna dan menjana token JWT.

2. Penjanaan dan Penghantaran Token
Pelayan menandatangani JWT menggunakan kunci persendirian, menjana token dan menghantarnya kepada pelanggan sebagai sebahagian daripada respons.

3. Token storan pelanggan
Selepas pelanggan menerima token JWT, ia menyimpannya secara tempatan untuk digunakan dalam permintaan seterusnya.

4. Bawa token apabila meminta
Pelanggan akan menghantar token JWT ke pelayan sebagai sebahagian daripada pengepala Kebenaran dalam setiap permintaan.

5. Token Pengesahan Pelayan
Selepas menerima permintaan, pelayan menggunakan kunci awam untuk mengesahkan ketulenan dan integriti JWT.

6. Keizinan dan pemprosesan logik perniagaan
Selepas pengesahan pelayan diluluskan, maklumat muatan JWT digunakan untuk pengesahan dan kebenaran, dan kemudian logik perniagaan yang sepadan dilaksanakan.

3. Gunakan JWT untuk melaksanakan contoh kod pengesahan dan kebenaran

1 JWT (token)

use FirebaseJWTJWT;

$privateKey = "your_private_key";

$token = array(
    "iss" => "your_iss", //签发者
    "aud" => "your_aud", //接收方
    "iat" => time(), //签发时间
    "exp" => time() + 3600 //过期时间
);

$jwt = JWT::encode($token, $privateKey, 'HS256');

2 Sahkan JWT (token)

use FirebaseJWTJWT;

$publicKey = "your_public_key";

$jwt = $_SERVER['HTTP_AUTHORIZATION']; // 获取Authorization头部的令牌

try {
    $decoded = JWT::decode($jwt, $publicKey, array('HS256'));
    
    // 身份验证成功,执行相应的业务逻辑
    // ...
    
} catch (Exception $e) {
    // 验证失败,返回错误提示
    // ...
}

4. Implementasi JWT secara ringkas pengesahan dan kebenaran, dan menyediakan contoh kod yang sepadan. Sebagai mekanisme pengesahan dan kebenaran yang boleh dipercayai, JWT digunakan secara meluas dalam pembangunan web moden. Dengan menggunakan JWT dengan sewajarnya, kami boleh meningkatkan keselamatan dan kebolehpercayaan aplikasi kami. Saya harap pembaca dapat sedikit ilmu dan inspirasi daripada artikel ini dan seterusnya menguasai penggunaan JWT dalam aplikasi PHP.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengesahan dan kebenaran dalam aplikasi PHP menggunakan JWT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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