Ber*_*rge 8 php authentication sharepoint single-sign-on office365
我们的PHP应用程序需要身份验证,对于运行SharePoint的客户,我们希望提供某种SSO服务,以便用户可以使用他们的SharePoint凭据(我们使用类似Google Apps,CAS,... .)
注意:显然,我们的应用程序不在与SharePoint相同的域/前提下托管
我找不到关于它的文章,所以任何指针都会受到欢迎!
注意:我们希望实现适当的层验证机制,以便用户可以通过键入URL直接登录我们的应用程序,并选择使用SharePoint登录,就像您使用OAuth之类的那样......
提前致谢 !
SharePoint Online(SPO)使用基于声明的身份验证.
下图演示了如何在SPO中执行身份验证:
根据这篇文章,身份验证过程包括以下步骤:
脚步:
- 发送SAML请求到STS
- 收到SAML响应
- 将安全令牌发送到SharePoint Online
- 接收身份验证Cookie
- 发送包括身份验证Cookie的请求
phpSPO - 用于PHP的SharePoint客户端支持SPO身份验证.
该库为PHP应用程序提供SharePoint Online(SPO)客户端.它允许您使用基于SharePoint 2013 REST/OData的API对SharePoint数据执行CRUD操作.
如何在SharePoint Online(SPO)中执行身份验证:
try {
$client = new SPOClient($url);
$client->signIn($username,$password);
echo 'You have authenticated successfully\n';
}
catch (Exception $e) {
echo 'Authentication failed: ', $e->getMessage(), "\n";
}
Run Code Online (Sandbox Code Playgroud)
以下示例演示如何对SharePoint列表数据执行CRUD操作:
<?php
require_once 'SPOClient.php';
$username = 'username@tenant.onmicrosoft.com';
$password = 'password';
$url = "https://tenant.sharepoint.com/";
$client = new SPOClient($url);
$client->signIn($username,$password);
//Get Tasks list
$listTitle = 'Tasks';
$list = $client->getList($listTitle);
//Create a Task item
$itemProperties = array('Title' => 'Order Approval', 'Body' => 'Order approval task');
$taskItem = $list->addItem($itemProperties);
print "Task '{$taskItem->Title}' has been created succesfully.\r\n";
$itemId = $taskItem->Id;
//Update a Task item
$itemProperties = array('PercentComplete' => 1);
$list->updateItem($itemId,$itemProperties);
//Delete a Task item
$list->deleteItem($itemId);
?>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4076 次 |
最近记录: |