Rumah >pembangunan bahagian belakang >tutorial php >Pengesahan keselamatan PHP dengan Google Cloud Identity-Aware Proxy

Pengesahan keselamatan PHP dengan Google Cloud Identity-Aware Proxy

WBOY
WBOYasal
2023-07-26 16:41:101182semak imbas

Pengesahan Keselamatan PHP dengan Proksi Sedar Identiti Awan Google

Ikhtisar:
Proksi Sedar Identiti Awan (IAP) Google ialah perkhidmatan untuk melindungi aplikasi dengan menggunakan pengesahan dan kebenaran untuk mengawal akses kepada aplikasi . Dalam artikel ini, kita akan belajar cara melaksanakan pengesahan selamat dalam aplikasi PHP menggunakan IAP.

Langkah 1: Sediakan pengesahan
Pertama, kami perlu mendayakan IAP dan menyediakan pengesahan dalam konsol Google Cloud. Sila ikut langkah berikut:

  1. Log masuk ke konsol Google Cloud dan pilih projek anda.
  2. Navigasi ke halaman Keselamatan >
  3. Pada halaman "IAP", pilih apl yang ingin anda lindungi.
  4. Dalam bahagian "Lindungi Aplikasi Web", klik butang "Dayakan".
  5. Dalam kotak dialog pop timbul, pilih "IDP Luaran (Pelayan Huluan)" sebagai kaedah pengesahan dan konfigurasikan ID Pelanggan dan Rahsia Pelanggan yang sesuai.
  6. Klik "Simpan".

Langkah 2: Konfigurasi Aplikasi
Seterusnya, kita perlu mengkonfigurasi IAP dalam aplikasi PHP. Pertama, kita perlu memasang pustaka klien Google API. Anda boleh memasang perpustakaan menggunakan Komposer dengan melaksanakan arahan berikut:

composer require google/apiclient

Setelah dipasang, tambahkan kod berikut pada fail PHP anda:

require_once 'vendor/autoload.php';

session_start();
$client = new Google_Client();
$client->setAuthConfig('<path_to_your_client_secret_json>');
$client->addScope('email');

if (!$client->isAccessTokenExpired()) {
  $accessToken = $_SESSION['access_token'];
  $client->setAccessToken($accessToken);
} else {
  $client->authenticate($_SERVER['HTTP_X_GOOG_AUTHENTICATED_USER_EMAIL']);
  $_SESSION['access_token'] = $client->getAccessToken();
}

if (!$client->getAccessToken()) {
  header('Location: ' . $client->createAuthUrl());
  exit;
}

Pastikan untuk menggantikan b349e94957a07cf1f3d288c64b7511ca dengan pelanggan anda laluan ke kunci. b349e94957a07cf1f3d288c64b7511ca 替换为您的客户端密钥的路径。

步骤3:验证访问权限
最后,我们需要在 PHP 文件中添加一些代码来验证访问权限。以下代码将检查用户是否有权访问应用程序:

$allowed_users = [
  'user1@gmail.com',
  'user2@gmail.com'
];

$user_email = $_SERVER['HTTP_X_GOOG_AUTHENTICATED_USER_EMAIL'];

if (!in_array($user_email, $allowed_users)) {
  http_response_code(403);
  die('Unauthorized');
}

// 执行您的应用程序逻辑
echo '欢迎访问应用程序!';

$allowed_users

Langkah 3: Sahkan Akses

Akhir sekali, kami perlu menambah beberapa kod dalam fail PHP untuk mengesahkan akses. Kod berikut akan menyemak sama ada pengguna mempunyai kebenaran untuk mengakses aplikasi:
rrreee

Dalam tatasusunan $allowed_users anda boleh menambah alamat e-mel pengguna yang dibenarkan untuk mengakses aplikasi. 🎜🎜Ringkasan: 🎜Dalam artikel ini, kami mempelajari cara melaksanakan pengesahan selamat dalam aplikasi PHP dengan menggunakan Proksi (IAP) Google Cloud Identity-Aware. Dengan mengkonfigurasi pengesahan dan mengesahkan akses, kami boleh memastikan bahawa hanya pengguna yang disahkan boleh mengakses aplikasi. Menggunakan IAP boleh meningkatkan keselamatan aplikasi anda dan menghalang akses tanpa kebenaran. 🎜

Atas ialah kandungan terperinci Pengesahan keselamatan PHP dengan Google Cloud Identity-Aware Proxy. 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