Rumah > pembangunan bahagian belakang > tutorial php > Pengesahan keselamatan PHP dengan OneLogin

Pengesahan keselamatan PHP dengan OneLogin

WBOY
Lepaskan: 2023-07-24 14:20:01
asal
1707 orang telah melayarinya

Pengesahan keselamatan PHP melalui OneLogin

Dengan perkembangan pesat Internet, isu keselamatan rangkaian menjadi semakin penting. Dalam laman web dan aplikasi, pengesahan dan kebenaran pengguna adalah kunci untuk memastikan keselamatan. Dalam pembangunan PHP, kami boleh menggunakan penyelesaian pengesahan seperti OneLogin untuk mengukuhkan keselamatan. Artikel ini akan memperkenalkan cara menggunakan OneLogin untuk melaksanakan fungsi pengesahan keselamatan PHP dan menyediakan contoh kod yang sepadan.

1. Apakah itu OneLogin?

OneLogin ialah penyelesaian pengesahan awan yang membantu pembangun melaksanakan log masuk tunggal (SSO) dan pengurusan identiti. Ia menyediakan lapisan kawalan akses selamat yang memastikan identiti dan kebenaran pengguna disahkan dan dibenarkan dengan betul. OneLogin menyokong berbilang kaedah pengesahan, termasuk nama pengguna dan pengesahan berasaskan kata laluan, pengesahan dua faktor, OpenID Connect, SAML, OAuth dan banyak lagi.

2. Mula menggunakan OneLogin

  1. Daftar akaun OneLogin

Pertama, kita perlu mendaftar akaun di laman web rasmi OneLogin dan membuat aplikasi.

  1. Buat Apl

Dalam konsol OneLogin, klik "Aplikasi" di penjuru kiri sebelah atas dan pilih "Tambah Apl". Pilih "SAML Test Connector (Advanced)" dan tetapkan nama untuk aplikasi.

  1. Mengkonfigurasi Apl

Dalam halaman konfigurasi apl, kami perlu menyediakan beberapa maklumat untuk disepadukan dengan OneLogin. Contohnya, sediakan URL ACS (Assertion Consumer Service) dan URL ubah hala SP (Service Provider) selepas pengesahan berjaya.

Kod contoh:

$settings = [
    'sp' => [
        'entityId' => 'https://www.example.com/metadata.php',
        'assertionConsumerService' => [
            'url' => 'https://www.example.com/acs.php',
            'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST'
        ],
        'singleLogoutService' => [
            'url' => 'https://www.example.com/slo.php',
            'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'
        ],
        'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
    ],
    'idp' => [
        'entityId' => 'https://app.onelogin.com/saml/metadata/123456',
        'singleSignOnService' => [
            'url' => 'https://app.onelogin.com/trust/saml2/http-post/sso/123456',
            'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'
        ],
        'singleLogoutService' => [
            'url' => 'https://app.onelogin.com/trust/saml2/http-redirect/slo/123456',
            'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'
        ],
        'x509cert'  => '-----BEGIN CERTIFICATE-----
                       MIICNTCCAZ2gAwIBAgIEDQxI2zANBgkqh ... 
                       -----END CERTIFICATE-----',
    ],
];
Salin selepas log masuk
  1. Mengendalikan permintaan SAML

Apabila pengguna cuba log masuk dan dialihkan ke halaman pengesahan OneLogin, OneLogin memberikan kami respons SAML. Kita perlu menulis kod untuk mengendalikan respons ini dan mengesahkan pengguna.

Kod Contoh:

require 'vendor/autoload.php';

$samlResponse = $_POST['SAMLResponse'];

$auth = new OneLoginSaml2Auth($settings);
$auth->processResponse($samlResponse);

if ($auth->isAuthenticated()) {
    // 用户已验证成功,可以进行后续操作
    $attributes = $auth->getAttributes();
    echo "Welcome, " . $attributes['name'][0];
} else {
    // 用户验证失败,显示错误信息
    echo "Authentication failed.";
}
Salin selepas log masuk
  1. Single Sign-On (SSO)

Selepas melaksanakan pengesahan melalui OneLogin, kami boleh melaksanakan Single Sign-On (SSO) dalam aplikasi lain. Apabila pengguna log masuk ke satu aplikasi, aplikasi lain boleh berkongsi maklumat pengesahan mereka tanpa perlu memasukkan nama pengguna dan kata laluan mereka sekali lagi.

Kod contoh:

session_start();

if (!isset($_SESSION['username'])) {
    // 用户未登录,将其重定向到 OneLogin 的登录页面
    header('Location: https://app.onelogin.com/login');
    exit;
}

// 用户已登录,可以进行后续操作
echo "Welcome, " . $_SESSION['username'];
Salin selepas log masuk

Melalui langkah di atas, kita boleh menggunakan OneLogin untuk melaksanakan fungsi pengesahan keselamatan PHP. Dengan keupayaan SSO OneLogin, kami boleh meningkatkan pengalaman pengguna dengan berkesan dan mengukuhkan keselamatan tapak web dan aplikasi.

Atas ialah kandungan terperinci Pengesahan keselamatan PHP dengan OneLogin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan