Главная > Live@edu, PHP > Управление Live@edu из PHP – Single Sign-On, Exchange Web Services, Windows Live Admin Center

Управление Live@edu из PHP – Single Sign-On, Exchange Web Services, Windows Live Admin Center

Официальный Live@edu предоставляет все необходимые SDK для реализации всех перечисленных в заголовке тем на платформе .NET . В большинстве случаев я рекомендую использовать IIS + ASP .NET сайт как более удобную в разработке и обслуживании платформу. Но что делать, если в Вашем учебном заведении уже реализован портал на платформе PHP?

Чтобы облегчить внедрение я собрал все 3 технологии воедино. Есть всего несколько шагов, которые нужно выполнить для того, чтобы обогатить Ваш PHP-портал функциями управления Microsoft Live@edu .

image 1. Получение сертификата

Для получения сертификата посетите страницу https://eduadmin.live.com/SSO.aspx , авторизовавшись с помощью идентификатора Windows Live ID администратора домена, и нажмите кнопку “Запросить поддержку единого входа”.

В течение примерно недели Вы получите последовательно три письма. В первом будет ссылка на загрузку сертификата, во втором – пароль для загрузки и в третьем – идентификатор SiteID, шестизначный код для настройки модуля единого входа (SSO).

2. Загрузка класса

Загрузите комплект PHP SSO в папке SkyDrive.

 

3. Подготовка сертификата

В комплекте, полученном от ed-desk (п. 1), Вы найдете два файла: .cer и .pfx. Для работы системы SSO Вам потребуется сконвертировать сертификат из файла .pfx. Сделать это можно с помощью утилиты openssl.exe, входящей в состав дистрибутива:

  1.  
    1. Командный файл runme.bat выполняет все необходимые команды при передаче ему параметром Вашего файла с сертификатом.
    2. При запросе пароля нажмите Enter.
    3. На выходе получится файл all.cer .
    4. Полученный файл необходимо разделить на две части.
    5. В первый файл с именем private.pem поместите первую часть файла до “——END RSA PRIVATE KEY——“ (включая эту строку).
    6. Оставшуюся часть файла поместите в cer.pem .

4. Настройка модуля

Настройка модуля производится в файле settings.php:

  • $adminwlid , $adminpass – имя и пароль администратора домена. Эти данные требуются для работы класса Windows Live Admin Center.
  • $applicationid, $secretkey – идентификатор приложения, который можно получить по инструкции http://msdn.microsoft.com/en-us/library/bb676626.aspx. Скорее всего имя домена будет занято в связи с настройкой SSO, поэтому Вы можете зарегистрировать домен с www. Например, для домена @live.vuz.ru это будет www.live.vuz.ru . Эти данные требуются для работы Exchange Web Services.
  • $ewsadmin, $ewspass – данные пользователя, наделенного правами имперсонации. Более подробно в пункте 1 http://mamichev.spaces.live.com/blog/cns!DAD805F3381EED7B!2753.entry .
  • $siteid – идентификатор SiteID (п. 1)
  • $cer, $private – файлы с сертификатом из пункта 4.

5. Использование функций в Вашем приложении.

В состав sso_class.php входят три класса – WLAC, SSO, EWS. Вы можете воспользоваться файлом index.php для того, чтобы посмотреть пример использования всех реализованных возможностей.

Подключите файл класса и настроек:

include(«settings.php»);
include(«sso_class.php»);

Windows Live Admin Center (WLAC)

Вы можете создавать и удалять пользователей, менять пароль, адрес электронной почты и другие возможности, перечисленные на странице описания веб-сервиса https://domains.live.com/service/managedomain2.asmx . Обратите внимание, что функции расширенного управления недоступны для учетной записи Live@edu .

Для инициализации выполните команду:

  • $wl = new wlac($adminwlid,$adminpass);

Теперь Вы можете выполнять команды, которые реализованы в файле index.php, например:

  • $wl->Execute(«ResetMemberPassword»,Array(«memberNameIn»=>$_POST[’email’],»password»=>$_POST[‘password’],»resetPassword»=>»false»));

Метод Execute принимает два параметра. Первый – команда, второй – массив с параметрами. Если необходимо передавать многострочные параметры, можно использовать вложенный массив.К адресу электронной почты и паролю, допустимому в Windows Live, есть определенные требования. Проверить правильность пароля можно с помощью метода:

  • $wl->validate_creds($email,$pass)

На выходе будет массив с ошибками.Single Sign-On (SSO)Этот класс позволяет предоставить пользователю возможность доступа к сервисам Live@edu (Outlook Live, Office Live, Windows Live) после авторизации на Вашем портале без дополнительной авторизации Windows Live. SSO необходимо запросить и как это сделать, описано выше.Процесс SSO состоит из трех шагов:1. Получение Short Living Ticket (SLT) – кода авторизации для любого пользователя:$getSLT = new GetSLT($siteid,$cer,$private); 2. Получение ссылки для переадресации (класс поддерживает сервисы outlooklive, olw, skydrive, spaces, home):$ssourl = $getSLT->ServiceUrl($_POST[‘service’]).»&slt=».$getSLT->Request($_POST[’email’],»30″); 3. Переадресацияheader(«location:$ssourl»); die();Exchange Web Services (EWS)Учебные заведения, подписанные на услугу Live@edu Organization (организации, зарегистрированные до 5 августа 2009-го года и подписавшие новое соглашение, и все организации, зарегистрированные после 5 августа 2009-го года) могут использовать технологию Exchange Web Services для получения доступа к данным пользователя для отображения их на портале после авторизации.Пользователь (не обязательно администратор), который используется для обращения к серверу, должен обладать правами имперсонации. Как предоставить такие права, написано в пункте 1 инструкции http://mamichev.spaces.live.com/blog/cns!DAD805F3381EED7B!2753.entry .Для инициализации функции выполните:

  • $lews = new LAE_EWS(Array(«admin»=>$ewsadmin,»pass»=>$ewspass,»appid»=>$applicationid,»seckey»=>$secretkey));

Для использования EWS обращайтесь к методам класса, например, для просмотра писем:

  • $emails = $lews->GetEMails($_POST[’email’],10,0);

Вы можете найти множество дополнительных функций, доступных для использования с EWS, в прототипе http://www.educationlabs.com/projects/moodleproduct/Pages/default.aspx .

6. Ссылки

Код в приложении уникален, однако основные принципы управления сервисами были “подсмотрены” в базовых разработках:

Реклама
Рубрики:Live@edu, PHP
  1. Комментариев нет.
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: