【发布时间】:2021-01-20 04:53:40
【问题描述】:
我将this PHP project 导入 Eclipse(master 分支;demo1 文件夹的内容)。
目标:我想在 PHP 中使用 Keycloak 和 SAML 集成登录 SSO 演示。
首先,Keycloak 是否可以用作身份提供者 (IDP) 和 PHP 应用程序作为服务提供者 (SP)?
我已经配置了一个设置文件和 Keycloak 的配置。但是我没有在我的 Eclipse 项目中的任何地方添加客户端 ID;我不知道在哪里添加它!
<?php
$spBaseUrl = 'http://localhost:8080'; //or http://<your_domain>
//The ACS URL is a combination of the Secure Token Server subsystem address, its port number for handling SAML messages, the SAML binding,
//and any necessary information that is specific for CIC or ICWS.
$settingsInfo = array(
'sp' => array(
'entityId' => $spBaseUrl.'/demo1/metadata.php',
'assertionConsumerService' => array(
'url' => $spBaseUrl.'/demo1/index.php?acs',
),
'singleLogoutService' => array(
'url' => $spBaseUrl.'/demo1/index.php?sls',
),
'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
),
'idp' => array(
'entityId' => 'http://localhost:8080/auth/realms/Lifetrenz',
'singleSignOnService' => array(
'url' => 'http://localhost:8080/auth/realms/Lifetrenz/protocol/saml',
),
'singleLogoutService' => array(
'url' => 'http://localhost:8080/auth/realms/Lifetrenz/protocol/saml',
),
'x509cert' => 'MIICoTCCAYkCBgF0eK4PUzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAlMaWZldHJlbnowHhcNMjAwOTEwMTU0MDA3WhcNMzAwOTEwMTU0MTQ3WjAUMRIwEAYDVQQDDAlMaWZldHJlbnowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmHuIp66rwzd8pkm8nQ/PfMt6JUKu1VvkgrSpmMKkYcnbyWzMkOXV96VQBQLfMFZ+7OQlmGreCVASjjNaNhnDwF2KUU+CzJDdxAD8fj2DfGKsaiR5mZLlld5Fxl2dQ7Vn97gMRz7tb/+pW1Ih0ckYSGQwe4frWUZJxahZRUXtsJkj14pSib8u2J7BRJgrDhQMDFHAL1eyPZxKsXFdH6eB2FtWEJE90Zy6cshe5xFd+fMFY2vCPrbGH9FmcRjq004XQ9QdbL52paCnKoK2Vh7zwi80IXxjt8STUyf9Qnllzsmn37EFS8ZOzWoSy9dwqdHpF6BICBBYZZ2HIHCNXA1E9AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAAnvVLS5Tk5cE6e4IO3FwVbAvnHFi3nFHipnIqmfHf63Gy25b/mCtVZ9tDSA2tGCyULB0Zeq4B518/GJo0423lMw/R0dTkQnXuDPZc8O7MQbNg2fnNqNiamsv21RhDp3r998Un9MrniCuR1+vZyYy2urdLfF/BvvWVpVWtHvXgT1VI5lzy+WBJM08FO6rHdHiqVgWLf+xxXunaQA5gcno2Af6XzPsIHTFok6VviBZqJ6vqXwITfb9S4zwcqr0rgqeqGJ6w7qPZeC9UZw0EjtUqnjrnDZ6PxXjCXMdy4PXN0kEls1jMvbTS+LIlR1K3RlfXW0/K6Z8Ge/c+WAN+yXS30=',
),
);
但是当我点击 index.php 并重定向到 Keycloak 登录提供程序页面时,我收到“未知登录请求者”。
显然,因为我没有配置 Keycloak 客户端 ID!
【问题讨论】:
-
packagist.org/packages/acsystems/keycloak-php-sdk 或 github.com/MohammadWaleed/keycloak-admin-client。只需搜索
keycloak php sdk -
@Jackson 已经尝试了所有 github 存储库,但不工作/值得,因为我想要使用 SAML,而不是 open-id 连接,并且该存储库使用 open-id 连接
标签: php keycloak saml saml-2.0 idp