gpt4 book ai didi

php - 是否可以将Keycloak用作IDP,将PHP应用用作SP?

转载 作者:行者123 更新时间:2023-12-05 03:48:52 25 4
gpt4 key购买 nike

我导入了 this PHP project进入 Eclipse(master 分支;demo1 文件夹的内容)。

目标:我想使用带有 SAML 的 Keycloak 在 PHP 中集成登录 SSO 演示。

首先,Keycloak是否可以作为身份提供者(IDP),PHP应用作为服务提供者(SP)?

我已经配置了一个设置文件和Keycloak的配置。但是我没有在我的 Eclipse 项目中的任何地方添加 client-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 client-id!

最佳答案

Keycloak 中的

Client ID 需要等于您站点/元数据中的 entityId

这意味着您需要配置您的 Keycloak(客户端部分)以与您的元数据同步。如果您的 entityId 是元数据 URL,则您的 Keycloak Client ID 需要是相同的 URL。

官方指南:https://www.keycloak.org/docs/latest/server_admin/#saml-clients

关于php - 是否可以将Keycloak用作IDP,将PHP应用用作SP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64206669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com