Maison  >  Article  >  développement back-end  >  Authentification de sécurité PHP avec Google Cloud Identity-Aware Proxy

Authentification de sécurité PHP avec Google Cloud Identity-Aware Proxy

WBOY
WBOYoriginal
2023-07-26 16:41:101067parcourir

Authentification de sécurité PHP avec Google Cloud Identity-Aware Proxy

Présentation :
Google Cloud Identity-Aware Proxy (IAP) est un service permettant de sécuriser les applications en utilisant l'authentification et l'autorisation pour contrôler l'accès à l'application. Dans cet article, nous apprendrons comment implémenter une authentification sécurisée dans les applications PHP utilisant IAP.

Étape 1 : Configurer l'authentification
Tout d'abord, nous devons activer IAP et configurer l'authentification dans la console Google Cloud. Veuillez suivre ces étapes :

  1. Connectez-vous à la console Google Cloud et sélectionnez votre projet.
  2. Accédez à la page Sécurité > IAP.
  3. Sur la page "IAP", sélectionnez l'application que vous souhaitez protéger.
  4. Dans la section « Protéger les applications Web », cliquez sur le bouton « Activer ».
  5. Dans la boîte de dialogue contextuelle, sélectionnez « IDP externe (serveur en amont) » comme méthode d'authentification et configurez l'ID client et le secret client appropriés.
  6. Cliquez sur "Enregistrer".

Étape 2 : Configurer l'application
Ensuite, nous devons configurer IAP dans l'application PHP. Tout d’abord, nous devons installer la bibliothèque cliente de l’API Google. Vous pouvez installer la bibliothèque à l'aide de Composer en exécutant la commande suivante :

composer require google/apiclient

Une fois installé, ajoutez le code suivant à votre fichier PHP :

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;
}

Assurez-vous de remplacer b349e94957a07cf1f3d288c64b7511ca par votre client. chemin vers la clé. 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

Étape 3 : Vérifier l'accès

Enfin, nous devons ajouter du code dans le fichier PHP pour vérifier l'accès. Le code suivant vérifiera si l'utilisateur a l'autorisation d'accéder à l'application :
rrreee

Dans le tableau $allowed_users, vous pouvez ajouter les adresses e-mail des utilisateurs autorisés à accéder à l'application. 🎜🎜Résumé : 🎜Dans cet article, nous avons appris comment implémenter une authentification sécurisée dans les applications PHP à l'aide de Google Cloud Identity-Aware Proxy (IAP). En configurant l'authentification et en vérifiant l'accès, nous pouvons garantir que seuls les utilisateurs authentifiés peuvent accéder à l'application. L'utilisation d'IAP peut améliorer la sécurité de votre application et empêcher tout accès non autorisé. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn