Authentication is handled by the "SharePoint - Integration Manager" plugin. It provides a method that gets the current authentication by the SharePoint Url. The Integration Manager plugin also provides a list of all the providers from the configuration. It also includes sub-sites along with the site root.
The ClientContext ExecuteQuery method is called without setting any credentials.
The ClientContext.Credentials property is set with the user name, password and domain stored in the Integration Manager plugin before calling the ExecuteQuery method.
Windows Authentication uses System.Security.Principal.WindowsIdentity to impersonate the Windows logged on user.
When the ExecuteQuery method is called the ExecutingWebRequest event is triggered. During this event the FedAuth cookie is added to the header.
SAML Authentication requires Telligent as a Trusted Identity Provider in SharePoint; please see SAML Authentication Plugin.
Telligent Connect for SharePoint uses SharePoint's Client Side Object Model for making API calls. This allows us to respect permissions from SharePoint based on the authentication used.
Upon creation, Lists and Libraries will be set to inherit permissions and can be modified by the SharePoint Site Collection admin in SharePoint. The Microsoft.SharePoint.Client.ListCreationInformation.ListCreationInformation class contains the following properties:
Setting permissions for Documents and Folders is supported through the Document Library widget. A List of Role Assignments are returned that include:
When updating Permissions a Microsoft.SharePoint.Client.RoleDefinitionBindingCollection.RoleDefinitionBindingCollection object is created and new Role Definitions are added. Then either the Microsoft.SharePoint.Client.Group or Microsoft.SharePoint.Client.User is added to the List's RoleAssignments.
All APIs go through a ClientContext wrapper called SPContext. This is what allows the integration to support multiple authentication methods in the back end instead of the new APIs.
Widget APIs are extensions used in our widgets and the full documentation can be found in the SharePoint category under Widget Studio > Manage Widgets > [Edit Widget] > Api Documentation.
The In-Process API can be used for extending the integration by creating new plugins or Job Scheduler tasks. The reference to these APIs can be found in Telligent.Evolution.Extensions.SharePoint.Client.Api.Version1.PublicApi. The PubliApi has access to the following:
SharePointUrls - Returns Urls in the Telligent context.
The following endpoints are available through the REST API.
Telligent Systems, Inc. ©2013, All Rights Reserved