Я предполагаю, что у вас есть полный контроль над вашим приложением / доменом php, но другой сервер управляет сервером sharepoint. Также предположим, что вы можете попросить команду sharepoint создать простую веб-часть для ваших функций единого входа.
В этом случае вы можете попросить команду sharepoint создать веб-часть, содержащую ссылку на ваш сайт. Когда пользователь щелкает ссылку, запрос отправляется обратно на сервер sharepoint, сервер sharepoint берет имя пользователя для входа в систему, шифрует его с помощью вашего открытого ключа и добавляет его в URL-адрес на вашем php-сайте, а затем отправляет в виде перенаправления назад. в браузер. Итак, местоположение выглядит так:
https://your.php.domain/sso.php?logon=encrypted_users_logon_name&api_key=some_token
Ваш сценарий sso.php проверит, что api_key является допустимым токеном от вашего партнера по sharepoint, а затем расшифрует имя входа пользователя, пытающегося войти. подтвердите, что запрос на вход в систему является допустимым в течение некоторого временного окна, или запишите его в зашифрованное имя для входа, но это простой способ сделать это, предполагая, что вы доверяете запросам, исходящим от партнера по sharepoint.
Разработчики sharepoint .net, вероятно, смогут выполнять любое шифрование, которое вы хотите, поэтому выберите алгоритм, который вы можете использовать как на стороне php, так и на стороне .net, и дайте им ключ для шифрования, а также формат информации для зашифровать. что-то вроде n = logon_name; expire = timestamp; затем, когда вы расшифровываете, если оно истекло, вы отказываете в регистрации.