SlideShare a Scribd company logo
Moodle and Office 365 Step-by-Step
Guide: Federation using Active Directory
Federation Services
This document is provided “as-is”. Information and views expressed in this document, including URL and
other Internet Web site references, may change without notice. You bear the risk of using it.
Examples depicted herein are provided for illustration only and are fictitious. No real association or
connection is intended or should be inferred.
This document does not provide you with any legal rights to any intellectual property in any Microsoft
product. You may copy and use this document for your internal, reference purposes.
© 2013 Microsoft Corporation. All rights reserved.
© 2013 Microsoft Corporation. All rights reserved. Page 2
Moodle and Office 365 Step-by-Step
Guide: Federation using Active Directory
Federation Services
Adam Bradley, Architect
Microsoft Corporation
June 2013
Applies to: Office 365 | AD FS 2.0 | Windows Azure Active Directory
Summary: This guide walks you through the setup of a basic lab deployment of Moodle, Active Directory
Federation Services (AD FS) 2.0, and Windows Azure Active Directory to perform cross-product,
browser-based identity federation. This setup supports a federated single sign-on (SSO) experience for
Moodle and Office 365, in addition to user autoprovisioning, and user auto enrollment in Moodle
through Office 365.
Contents
About this guide................................................................................................................................................................................ 3
Terminology used in this guide................................................................................................................................................. 3
About the author ...................................................................................................................................................................... 3
Prerequisites and other requirements.............................................................................................................................................. 4
AD FS 2.0................................................................................................................................................................................... 4
Moodle...................................................................................................................................................................................... 4
SimpleSAMLPHP........................................................................................................................................................................ 4
Moodle Plugins ......................................................................................................................................................................... 7
Appendix A: Using AD FS 2.0 with SimpleSAMLPHP – Claim mapping rules................................................................................... 10
© 2013 Microsoft Corporation. All rights reserved. Page 3
About this guide
This guide provides step-by-step instructions for configuring a basic identity federation deployment
between Moodle and Office 365. This deployment uses federated identities and leverages the
capabilities of Microsoft® Active Directory® Federation Services 2.0 (AD FS 2.0), the Security Assertion
Markup Language (SAML) 2.0 protocol (http://go.microsoft.com/fwlink/?LinkId=193996), and SAML 2.0
HTTP POST binding (provided by the SimpleSAMLPHP authentication framework).
Objectives for this project:
 Provide an Office 365 single sign-on experience for a Federated namespace via the AD FS Secure
Token Service (STS) where AD FS acts as the Identity Provider (IdP), and STS and Moodle (via
SimpleSAMLPHP) both act as the Service Provider (SP)
 Use native Moodle extensions where possible
 Support User autoprovisioning in Moodle
 Support Course auto enrollment in Moodle
Terminology used in this guide
Throughout this document, there are numerous references to federation concepts that are called by
different names in the Microsoft and Shibboleth products. The following table assists in drawing
parallels between the two vendors’ technologies.
Table 1. Terminology differences
AD FS 2.0 name Shibboleth name Concept
Security token Assertion An XML document that is created and sent during a
federated access request that describes a user
Claims provider Identity provider
(IdP)
A partner in a federation that creates security tokens for
users
Relying party Service provider (SP) A partner in a federation that consumes security tokens
to provide access to applications
Claims Assertion attributes Data about users that is sent inside security tokens
In this deployment, each product performs both the claims provider/identity provider role and the
relying party/service provider role.
About the author
Adam Bradley (abradley@microsoft.com) is an Office 365 Architect for Microsoft.
© 2013 Microsoft Corporation. All rights reserved. Page 4
Prerequisites and other requirements
This lab assumes that you have an existing deployment of Office 365, with AD FS 2.0 configured to
support federated authentication (single sign-on). Follow the guidance provide at
http://technet.microsoft.com/en-us/library/jj151794.aspx.
AD FS 2.0
AD FS 2.0 assumes the role of Identity Provider and Security Token Service and will handle login requests
that follow the WS-Fed (Active), WS-Trust (Passive), and SAMLP standards.
This deployment uses a wildcard SSO certificate to provide a cost effective way of securing a number of
different services with a single certificate.
Moodle
Use the Microsoft Web Platform Installer to install Moodle along with the other prerequisites, including
MySQL and PHP. Be sure that you have also made these modifications:
 Update the server URL and configure it to use HTTPS.
 Enable both the SAML Authentication and SAML Enrolment modules (covered later in this
document).
SimpleSAMLPHP
This deployment uses the SimpleSAMLPHP framework to extend the authentication protocol abilities of
Moodle and provide SAML2 protocol support. SimpleSAMLPHP acts as a Service Provider and is
configured to send authentication requests to a remote SAMLP Identity Provider. Follow these steps to
install and configure SimpleSAMLPHP.
1. Download the latest version of SimpleSAMLPHP. At the time of writing, this was simplesamlphp-
1.10.0.tar.gz from http://code.google.com/p/simplesamlphp/downloads. Unzip the download to
a secure location.
2. In Internet Information Services (IIS) Manager, map a Virtual Directory “/simplesaml” to the
“www” directory inside the unzipped download. Ensure IIS has rights to this directory.
© 2013 Microsoft Corporation. All rights reserved. Page 5
3. Update the SimpleSAMLPHP Service Provider configuration in the config/authsources.php file.
The updated configuration should look like the one in this example.
'default-sp' => array(
'saml:SP',
// The entity ID of this SP. Can be NULL/unset, in which case an entity
ID is generated based on the metadata URL.
'entityID' => NULL,
// The entity ID of the IdP this should SP should contact.
'idp' => 'http://idp.contoso.com/adfs/services/trust',
// The URL to the discovery service.
'discoURL' => NULL,
// NameIDPolicy must be unspecified for ADFS
'NameIDPolicy' => 'urn:oasis:names:tc:SAML:1.1:nameid-
format:unspecified',
'simplesaml.nameidattribute' => 'email',
For more information on how to configure SimpleSAMLPHP, see
http://simplesamlphp.org/docs/stable/saml:sp.
4. Configure the Identity Provider to be used with this Service Provider. Update the
metadata/saml20-idp-remote.php file. The certFingerprint value is the certificate thumbprint of
the AD FS Token-signing certificate. The updated configuration should look like the one in this
example:
$metadata['http://idp.contoso.com/adfs/services/trust'] = array(
'name' => array(
'en' => 'ADFS IdP',
),
'description' => 'Here you can login with your account on the
Active Directory network.',
'SingleSignOnService' => 'https://idp.contoso.com/adfs/ls',
'SingleLogoutService' =>
'https://idp.consoso.com/adfs/ls/?wa=wsignout1.0&wreply=https://idp.con
toso.com/adfs/ls/?wa=wsignoutcleanup1.0',
'certFingerprint' => '571f9d649a950280de1b25f7c1259bf84ff7501d',
);
5. When the Service Provider is configured, import the Service Provider Metadata. The URL for this
is available from the Administrative Console “Federation” tab.
© 2013 Microsoft Corporation. All rights reserved. Page 6
6. Add SimpleSAMLPHP as a relying party in AD FS 2.0 using the standard SAML Metadata.
7. Finalize the configuration of AD FS 2.0 to communicate with SimpleSAMLPHP:
a. In the Relying Party Trust relationship, set the advanced setting to use the SHA-1 secure
hash algorithm.
b. Switch off claims encryption in AD FS by using these PowerShell cmdlets:
Add-PSSnapin Microsoft.Adfs.PowerShell
Set-ADFSRelyingPartyTrust -TargetName "SimpleSAMLPHP SP" -EncryptClaims $False
c. Add the necessary claim mappings by importing from the file containing the claim
mappings. See Error! Reference source not found. at the end of this document for the
omplete list of claims.
© 2013 Microsoft Corporation. All rights reserved. Page 7
Moodle Plugins
The Moodle community provides integration and product enhancements for all aspects of the product,
including the areas of authentication and enrollment.
To provide support for single sign-on and automated account provisioning in Moodle, use the SAMLP
Authentication plugin. If you’re interested in automatic course enrollment based on your Active
Directory group membership, use the SAMLP Enrollment plugin.
Both of these plugins use the SimpleSAMLPHP framework as the underlying mechanism to handle the
SAMLP login flows.
SAML Authentication Plugin
The SAML Authentication Plugin can be downloaded from the Moodle Wiki and installed by following
the instructions available at https://moodle.org/plugins/view.php?plugin=auth_saml. This plugin allows
for the automated creation of accounts in Moodle when users are authenticated with a valid SAMLP
claim.
In the Site Administration interface, enable and configure the SAML Authentication Plugin. On a
Windows platform, the path to the SimpleSAMLPHP library must include the double backslashes () as
shown in the SimpleSAMLPHP Library Path entry.
You can also configure User Data Mapping (which populates the Moodle User profile with values from
the SAML Attributes in the incoming claim). Ensure that all of the attributes you want to include in the
Moodle User profile are added to the incoming claim (as configured in AD FS 2.0).
© 2013 Microsoft Corporation. All rights reserved. Page 8
SAML Enrolment Plugin
The SAML Enrolment Plugin can be downloaded from the Moodle Wiki and installed by following the
instructions available at https://moodle.org/plugins/view.php?plugin=enrol_saml. This plugin depends
on the implementation of the SAML Authentication Plugin, and enables the user to be automatically
enrolled in Moodle courses based on the SAML schacUserStatus attribute.
Full documentation for this setup, which does the bulk of the enrollment work, is available in the SAML
Authentication Plugin Documentation
(https://github.com/pitbulk/moodle_saml/blob/master/auth/saml/moodle_auth_saml.txt).
You configure this component in the SAML Authentication Plugin. Only a small amount of configuration
is needed after you enable the plugin.
© 2013 Microsoft Corporation. All rights reserved. Page 9
The user’s Active Directory Group membership must be sent in the SAML schacUserStatus attribute for
the Plugin to process SAML enrollments automatically. All course and role mappings must be added to
the SAML Authentication Plugin.
© 2013 Microsoft Corporation. All rights reserved. Page 10
Appendix A: Using AD FS 2.0 with SimpleSAMLPHP – Claim
mapping rules
To apply the following claim mapping rules to the SimpleSAMLPHP SP, copy the list at the end of this
document to a file, and then use the Set-AdfsRelyingPartyTrust Powershell command to import, as in
this example.
Add-PSSnapin Microsoft.Adfs.PowerShell
Set-AdfsRelyingPartyTrust -TargetName "SimpleSAMLPHP SP" -
IssuanceTransformRulesFile "c:SimpleSAMLPHP-issuance-transformation-
rules.txt"
---snip---
@RuleTemplate = "LdapClaims"
@RuleName = "Default"
c:[Type ==
"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types =
("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
"http://schemas.xmlsoap.org/claims/Group",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"), query =
";userPrincipalName,userPrincipalName,tokenGroups,mail,givenName,sn;{0}",
param = c.Value);
@RuleName = "Transform UPN to epPN"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"]
=> issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.6", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
@RuleName = "Transform Group to epSA"
c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value == "Domain
Users"]
=> issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.9", Value =
"member@contoso.com",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
@RuleName = "CN"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"]
=> issue(Type = "cn", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
@RuleName = "mail"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email"]
=> issue(Type = "mail", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
© 2013 Microsoft Corporation. All rights reserved. Page 11
@RuleName = "eduPersonPrincipalName"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"]
=> issue(Type = "eduPersonPrincipalName", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
@RuleName = "UID"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"]
=> issue(Type = "uid", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
@RuleName = "UPN"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"]
=> issue(Type = "UPN", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
@RuleName = "GivenName"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"]
=> issue(Type = "givenName", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
@RuleName = "Surname"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"]
=> issue(Type = "sn", Value = c.Value,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at
tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
---snip---

More Related Content

What's hot

ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...
ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...
ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...
Protect724tk
 
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
Joel Oleson
 
Configure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier FarmConfigure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier Farm
Vinh Nguyen
 
Using oracle-erp-cloud-adapter-oracle-integration
Using oracle-erp-cloud-adapter-oracle-integrationUsing oracle-erp-cloud-adapter-oracle-integration
Using oracle-erp-cloud-adapter-oracle-integration
Swapnil Khoke
 
Developing with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applicationsDeveloping with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applications
Chandrakant Wanare ☁
 
Sql Saturday 228 Rapid Data Integration Using SharePoint BCS
Sql Saturday 228   Rapid Data Integration Using SharePoint BCSSql Saturday 228   Rapid Data Integration Using SharePoint BCS
Sql Saturday 228 Rapid Data Integration Using SharePoint BCS
Obilogic
 
MIIM v4 Installation Guide - Server 2012
MIIM v4 Installation Guide - Server 2012MIIM v4 Installation Guide - Server 2012
MIIM v4 Installation Guide - Server 2012
samuelhuber
 
Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010
Dan Usher
 
Vskills certified enterprise applications integration specialist with micros...
Vskills certified enterprise applications integration specialist  with micros...Vskills certified enterprise applications integration specialist  with micros...
Vskills certified enterprise applications integration specialist with micros...
Vskills
 
Developer’s guide to microsoft unity
Developer’s guide to microsoft unityDeveloper’s guide to microsoft unity
Developer’s guide to microsoft unity
Steve Xu
 
Introducing SP2010 To Administrators
Introducing SP2010 To AdministratorsIntroducing SP2010 To Administrators
Introducing SP2010 To Administrators
Florin Muntean
 
Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51
Mark Ginnebaugh
 
[Tech.Ed India 2011] SharePoint Designer 2010 Top 10
[Tech.Ed India 2011] SharePoint Designer 2010 Top 10[Tech.Ed India 2011] SharePoint Designer 2010 Top 10
[Tech.Ed India 2011] SharePoint Designer 2010 Top 10
Alpesh Nakar
 
SharePoint 2010 authentications
SharePoint 2010 authenticationsSharePoint 2010 authentications
SharePoint 2010 authentications
Wyngate Solutions
 
[AU SPC 2011] Backup Restore SharePoint 2010
[AU SPC 2011] Backup Restore SharePoint 2010[AU SPC 2011] Backup Restore SharePoint 2010
[AU SPC 2011] Backup Restore SharePoint 2010
Alpesh Nakar
 
Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013
Randy Williams
 
5 tsssisu sql_server_2012
5 tsssisu sql_server_20125 tsssisu sql_server_2012
5 tsssisu sql_server_2012
Steve Xu
 
[Tech.Ed India 2011] Backup and Restore SharePoint 2010
[Tech.Ed India 2011] Backup and Restore SharePoint 2010[Tech.Ed India 2011] Backup and Restore SharePoint 2010
[Tech.Ed India 2011] Backup and Restore SharePoint 2010
Alpesh Nakar
 
Ebook4
Ebook4Ebook4
Ebook4
kaashiv1
 
Resume
ResumeResume

What's hot (20)

ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...
ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...
ArcSight Actor Model Import Connector for Microsoft Active Directory Configur...
 
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
 
Configure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier FarmConfigure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier Farm
 
Using oracle-erp-cloud-adapter-oracle-integration
Using oracle-erp-cloud-adapter-oracle-integrationUsing oracle-erp-cloud-adapter-oracle-integration
Using oracle-erp-cloud-adapter-oracle-integration
 
Developing with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applicationsDeveloping with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applications
 
Sql Saturday 228 Rapid Data Integration Using SharePoint BCS
Sql Saturday 228   Rapid Data Integration Using SharePoint BCSSql Saturday 228   Rapid Data Integration Using SharePoint BCS
Sql Saturday 228 Rapid Data Integration Using SharePoint BCS
 
MIIM v4 Installation Guide - Server 2012
MIIM v4 Installation Guide - Server 2012MIIM v4 Installation Guide - Server 2012
MIIM v4 Installation Guide - Server 2012
 
Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010
 
Vskills certified enterprise applications integration specialist with micros...
Vskills certified enterprise applications integration specialist  with micros...Vskills certified enterprise applications integration specialist  with micros...
Vskills certified enterprise applications integration specialist with micros...
 
Developer’s guide to microsoft unity
Developer’s guide to microsoft unityDeveloper’s guide to microsoft unity
Developer’s guide to microsoft unity
 
Introducing SP2010 To Administrators
Introducing SP2010 To AdministratorsIntroducing SP2010 To Administrators
Introducing SP2010 To Administrators
 
Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51
 
[Tech.Ed India 2011] SharePoint Designer 2010 Top 10
[Tech.Ed India 2011] SharePoint Designer 2010 Top 10[Tech.Ed India 2011] SharePoint Designer 2010 Top 10
[Tech.Ed India 2011] SharePoint Designer 2010 Top 10
 
SharePoint 2010 authentications
SharePoint 2010 authenticationsSharePoint 2010 authentications
SharePoint 2010 authentications
 
[AU SPC 2011] Backup Restore SharePoint 2010
[AU SPC 2011] Backup Restore SharePoint 2010[AU SPC 2011] Backup Restore SharePoint 2010
[AU SPC 2011] Backup Restore SharePoint 2010
 
Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013
 
5 tsssisu sql_server_2012
5 tsssisu sql_server_20125 tsssisu sql_server_2012
5 tsssisu sql_server_2012
 
[Tech.Ed India 2011] Backup and Restore SharePoint 2010
[Tech.Ed India 2011] Backup and Restore SharePoint 2010[Tech.Ed India 2011] Backup and Restore SharePoint 2010
[Tech.Ed India 2011] Backup and Restore SharePoint 2010
 
Ebook4
Ebook4Ebook4
Ebook4
 
Resume
ResumeResume
Resume
 

Viewers also liked

Win8 accessibility tutorials
Win8 accessibility tutorialsWin8 accessibility tutorials
Win8 accessibility tutorials
Heo Gòm
 
Windows to go a guide for education
Windows to go   a guide for educationWindows to go   a guide for education
Windows to go a guide for education
Heo Gòm
 
Windows 8.1 deployment planning a guide for education
Windows 8.1 deployment planning   a guide for educationWindows 8.1 deployment planning   a guide for education
Windows 8.1 deployment planning a guide for education
Heo Gòm
 
Deployment guide-for-share point-2013
Deployment guide-for-share point-2013Deployment guide-for-share point-2013
Deployment guide-for-share point-2013
Heo Gòm
 
W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013
W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013
W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013Heo Gòm
 
Discover share point
Discover share pointDiscover share point
Discover share point
Heo Gòm
 
Hd sd infopath 2010
Hd sd infopath 2010Hd sd infopath 2010
Hd sd infopath 2010Heo Gòm
 
How to recover office doc
How to recover office docHow to recover office doc
How to recover office doc
Heo Gòm
 
3. how to manage products&catalogue
3. how to manage products&catalogue3. how to manage products&catalogue
3. how to manage products&catalogue
Heo Gòm
 
Sat thu dau mung mu(full ban goc) pa ngoc
Sat thu dau mung mu(full ban goc) pa ngocSat thu dau mung mu(full ban goc) pa ngoc
Sat thu dau mung mu(full ban goc) pa ngocHeo Gòm
 
2. template files training en
2. template files training en2. template files training en
2. template files training en
Heo Gòm
 
Windows 8 1_power user guide
Windows 8 1_power user guideWindows 8 1_power user guide
Windows 8 1_power user guide
Heo Gòm
 
Getting to know_office_365
Getting to know_office_365Getting to know_office_365
Getting to know_office_365
Heo Gòm
 
Ielts9
Ielts9Ielts9
Ielts9
MsChi Ielts
 
Moodle plugininstallguide v1
Moodle plugininstallguide v1Moodle plugininstallguide v1
Moodle plugininstallguide v1
Heo Gòm
 
2934 wsg win8_shortcut_keys_quickreferenceguide_external
2934 wsg win8_shortcut_keys_quickreferenceguide_external2934 wsg win8_shortcut_keys_quickreferenceguide_external
2934 wsg win8_shortcut_keys_quickreferenceguide_external
Heo Gòm
 
Office365 midsizebusinessquickdeploymentguide
Office365 midsizebusinessquickdeploymentguideOffice365 midsizebusinessquickdeploymentguide
Office365 midsizebusinessquickdeploymentguide
Heo Gòm
 
1. i web workflow overview en
1. i web workflow overview en1. i web workflow overview en
1. i web workflow overview en
Heo Gòm
 
How to add a new font type
How to add a new font typeHow to add a new font type
How to add a new font type
Heo Gòm
 

Viewers also liked (20)

Win8 accessibility tutorials
Win8 accessibility tutorialsWin8 accessibility tutorials
Win8 accessibility tutorials
 
Power point 2010
Power point 2010Power point 2010
Power point 2010
 
Windows to go a guide for education
Windows to go   a guide for educationWindows to go   a guide for education
Windows to go a guide for education
 
Windows 8.1 deployment planning a guide for education
Windows 8.1 deployment planning   a guide for educationWindows 8.1 deployment planning   a guide for education
Windows 8.1 deployment planning a guide for education
 
Deployment guide-for-share point-2013
Deployment guide-for-share point-2013Deployment guide-for-share point-2013
Deployment guide-for-share point-2013
 
W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013
W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013
W&s nghien cuu_cuoc_van_dong_nguoi_viet_nam_uu_tien_dung_hang_viet_nam_2013
 
Discover share point
Discover share pointDiscover share point
Discover share point
 
Hd sd infopath 2010
Hd sd infopath 2010Hd sd infopath 2010
Hd sd infopath 2010
 
How to recover office doc
How to recover office docHow to recover office doc
How to recover office doc
 
3. how to manage products&catalogue
3. how to manage products&catalogue3. how to manage products&catalogue
3. how to manage products&catalogue
 
Sat thu dau mung mu(full ban goc) pa ngoc
Sat thu dau mung mu(full ban goc) pa ngocSat thu dau mung mu(full ban goc) pa ngoc
Sat thu dau mung mu(full ban goc) pa ngoc
 
2. template files training en
2. template files training en2. template files training en
2. template files training en
 
Windows 8 1_power user guide
Windows 8 1_power user guideWindows 8 1_power user guide
Windows 8 1_power user guide
 
Getting to know_office_365
Getting to know_office_365Getting to know_office_365
Getting to know_office_365
 
Ielts9
Ielts9Ielts9
Ielts9
 
Moodle plugininstallguide v1
Moodle plugininstallguide v1Moodle plugininstallguide v1
Moodle plugininstallguide v1
 
2934 wsg win8_shortcut_keys_quickreferenceguide_external
2934 wsg win8_shortcut_keys_quickreferenceguide_external2934 wsg win8_shortcut_keys_quickreferenceguide_external
2934 wsg win8_shortcut_keys_quickreferenceguide_external
 
Office365 midsizebusinessquickdeploymentguide
Office365 midsizebusinessquickdeploymentguideOffice365 midsizebusinessquickdeploymentguide
Office365 midsizebusinessquickdeploymentguide
 
1. i web workflow overview en
1. i web workflow overview en1. i web workflow overview en
1. i web workflow overview en
 
How to add a new font type
How to add a new font typeHow to add a new font type
How to add a new font type
 

Similar to Moodle andoffice365withadfs

Actor Model Import Connector for Microsoft Active Directory
Actor Model Import Connector for Microsoft Active DirectoryActor Model Import Connector for Microsoft Active Directory
Actor Model Import Connector for Microsoft Active Directory
protect724rkeer
 
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsSession6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Mithun T. Dhar
 
SSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory Credentials
Salim M Bhonhariya
 
Azure-AD.pptx
Azure-AD.pptxAzure-AD.pptx
Azure-AD.pptx
ssuser9dddf7
 
Moodle + Adobe Connect
Moodle + Adobe Connect Moodle + Adobe Connect
Moodle + Adobe Connect
Takeshi Matsuzaki
 
Securing your Azure Identity Infrastructure
Securing your Azure Identity InfrastructureSecuring your Azure Identity Infrastructure
Securing your Azure Identity Infrastructure
Vignesh Ganesan I Microsoft MVP
 
O365-AzureAD Identity management
O365-AzureAD Identity managementO365-AzureAD Identity management
O365-AzureAD Identity management
David Pechon
 
Configure Intranet and Team Sites with SharePoint Server 2013
Configure Intranet and Team Sites with SharePoint Server 2013Configure Intranet and Team Sites with SharePoint Server 2013
Configure Intranet and Team Sites with SharePoint Server 2013
Vinh Nguyen
 
AZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdf
AZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdfAZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdf
AZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdf
shirlybaker1
 
Análisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónAnálisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la información
Plain Concepts
 
Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...
Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...
Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...
Microsoft Private Cloud
 
Hr structural auths
Hr   structural authsHr   structural auths
Hr structural auths
hkodali
 
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
Scott Hoag
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
Ethos Technologies
 
Anypoint b2 b
Anypoint b2 bAnypoint b2 b
Anypoint b2 b
Achyuta Lakshmi
 
Microsoft azure architect design (az 304) practice tests 2022
Microsoft azure architect design (az 304) practice tests 2022Microsoft azure architect design (az 304) practice tests 2022
Microsoft azure architect design (az 304) practice tests 2022
SkillCertProExams
 
Identity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft AzureIdentity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft Azure
Sparkhound Inc.
 
O365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to followO365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to follow
NCCOMMS
 
Office 365 Portugal_20150711_Meet2_INTRO.PPTX
Office 365 Portugal_20150711_Meet2_INTRO.PPTXOffice 365 Portugal_20150711_Meet2_INTRO.PPTX
Office 365 Portugal_20150711_Meet2_INTRO.PPTX
Joao Livio
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
Sovelto
 

Similar to Moodle andoffice365withadfs (20)

Actor Model Import Connector for Microsoft Active Directory
Actor Model Import Connector for Microsoft Active DirectoryActor Model Import Connector for Microsoft Active Directory
Actor Model Import Connector for Microsoft Active Directory
 
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsSession6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
 
SSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory Credentials
 
Azure-AD.pptx
Azure-AD.pptxAzure-AD.pptx
Azure-AD.pptx
 
Moodle + Adobe Connect
Moodle + Adobe Connect Moodle + Adobe Connect
Moodle + Adobe Connect
 
Securing your Azure Identity Infrastructure
Securing your Azure Identity InfrastructureSecuring your Azure Identity Infrastructure
Securing your Azure Identity Infrastructure
 
O365-AzureAD Identity management
O365-AzureAD Identity managementO365-AzureAD Identity management
O365-AzureAD Identity management
 
Configure Intranet and Team Sites with SharePoint Server 2013
Configure Intranet and Team Sites with SharePoint Server 2013Configure Intranet and Team Sites with SharePoint Server 2013
Configure Intranet and Team Sites with SharePoint Server 2013
 
AZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdf
AZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdfAZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdf
AZ-204 A Top-Notch Exam Of Developing Solutions for Microsoft Azure.pdf
 
Análisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónAnálisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la información
 
Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...
Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...
Microsoft Windows Server 2008 R2 - AD RMS Bulk Protection Tool and File Class...
 
Hr structural auths
Hr   structural authsHr   structural auths
Hr structural auths
 
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Anypoint b2 b
Anypoint b2 bAnypoint b2 b
Anypoint b2 b
 
Microsoft azure architect design (az 304) practice tests 2022
Microsoft azure architect design (az 304) practice tests 2022Microsoft azure architect design (az 304) practice tests 2022
Microsoft azure architect design (az 304) practice tests 2022
 
Identity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft AzureIdentity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft Azure
 
O365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to followO365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to follow
 
Office 365 Portugal_20150711_Meet2_INTRO.PPTX
Office 365 Portugal_20150711_Meet2_INTRO.PPTXOffice 365 Portugal_20150711_Meet2_INTRO.PPTX
Office 365 Portugal_20150711_Meet2_INTRO.PPTX
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 

More from Heo Gòm

Windows store apps a deployment guide for education
Windows store apps   a deployment guide for educationWindows store apps   a deployment guide for education
Windows store apps a deployment guide for education
Heo Gòm
 
Windows 8 1
Windows 8 1Windows 8 1
Windows 8 1
Heo Gòm
 
Windows 8.1 deployment to p cs a guide for education
Windows 8.1 deployment to p cs   a guide for educationWindows 8.1 deployment to p cs   a guide for education
Windows 8.1 deployment to p cs a guide for education
Heo Gòm
 
Windows 8 product guide business english
Windows 8 product guide business englishWindows 8 product guide business english
Windows 8 product guide business english
Heo Gòm
 
W8 brochure download
W8 brochure downloadW8 brochure download
W8 brochure download
Heo Gòm
 
Sharepoint adoption guide
Sharepoint adoption guideSharepoint adoption guide
Sharepoint adoption guide
Heo Gòm
 
Explore share point-2013
Explore share point-2013Explore share point-2013
Explore share point-2013
Heo Gòm
 
Deployment guide-for-office-2013
Deployment guide-for-office-2013Deployment guide-for-office-2013
Deployment guide-for-office-2013
Heo Gòm
 
3671 explore windows-8.1_update_wsg_external
3671 explore windows-8.1_update_wsg_external3671 explore windows-8.1_update_wsg_external
3671 explore windows-8.1_update_wsg_external
Heo Gòm
 
Adecco vietnam salary_guide_2014
Adecco vietnam salary_guide_2014Adecco vietnam salary_guide_2014
Adecco vietnam salary_guide_2014
Heo Gòm
 
En3502 customized material specifications
En3502 customized material specificationsEn3502 customized material specifications
En3502 customized material specifications
Heo Gòm
 
En3405 i web web manager user manual
En3405 i web web manager user manualEn3405 i web web manager user manual
En3405 i web web manager user manual
Heo Gòm
 
En3501 payment gateways supported
En3501 payment gateways supportedEn3501 payment gateways supported
En3501 payment gateways supported
Heo Gòm
 
En2502 album template editor user manual
En2502 album template editor user manualEn2502 album template editor user manual
En2502 album template editor user manual
Heo Gòm
 
En2501 composer template editor user manual
En2501 composer template editor user manualEn2501 composer template editor user manual
En2501 composer template editor user manual
Heo Gòm
 

More from Heo Gòm (15)

Windows store apps a deployment guide for education
Windows store apps   a deployment guide for educationWindows store apps   a deployment guide for education
Windows store apps a deployment guide for education
 
Windows 8 1
Windows 8 1Windows 8 1
Windows 8 1
 
Windows 8.1 deployment to p cs a guide for education
Windows 8.1 deployment to p cs   a guide for educationWindows 8.1 deployment to p cs   a guide for education
Windows 8.1 deployment to p cs a guide for education
 
Windows 8 product guide business english
Windows 8 product guide business englishWindows 8 product guide business english
Windows 8 product guide business english
 
W8 brochure download
W8 brochure downloadW8 brochure download
W8 brochure download
 
Sharepoint adoption guide
Sharepoint adoption guideSharepoint adoption guide
Sharepoint adoption guide
 
Explore share point-2013
Explore share point-2013Explore share point-2013
Explore share point-2013
 
Deployment guide-for-office-2013
Deployment guide-for-office-2013Deployment guide-for-office-2013
Deployment guide-for-office-2013
 
3671 explore windows-8.1_update_wsg_external
3671 explore windows-8.1_update_wsg_external3671 explore windows-8.1_update_wsg_external
3671 explore windows-8.1_update_wsg_external
 
Adecco vietnam salary_guide_2014
Adecco vietnam salary_guide_2014Adecco vietnam salary_guide_2014
Adecco vietnam salary_guide_2014
 
En3502 customized material specifications
En3502 customized material specificationsEn3502 customized material specifications
En3502 customized material specifications
 
En3405 i web web manager user manual
En3405 i web web manager user manualEn3405 i web web manager user manual
En3405 i web web manager user manual
 
En3501 payment gateways supported
En3501 payment gateways supportedEn3501 payment gateways supported
En3501 payment gateways supported
 
En2502 album template editor user manual
En2502 album template editor user manualEn2502 album template editor user manual
En2502 album template editor user manual
 
En2501 composer template editor user manual
En2501 composer template editor user manualEn2501 composer template editor user manual
En2501 composer template editor user manual
 

Recently uploaded

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

Moodle andoffice365withadfs

  • 1. Moodle and Office 365 Step-by-Step Guide: Federation using Active Directory Federation Services This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. © 2013 Microsoft Corporation. All rights reserved.
  • 2. © 2013 Microsoft Corporation. All rights reserved. Page 2 Moodle and Office 365 Step-by-Step Guide: Federation using Active Directory Federation Services Adam Bradley, Architect Microsoft Corporation June 2013 Applies to: Office 365 | AD FS 2.0 | Windows Azure Active Directory Summary: This guide walks you through the setup of a basic lab deployment of Moodle, Active Directory Federation Services (AD FS) 2.0, and Windows Azure Active Directory to perform cross-product, browser-based identity federation. This setup supports a federated single sign-on (SSO) experience for Moodle and Office 365, in addition to user autoprovisioning, and user auto enrollment in Moodle through Office 365. Contents About this guide................................................................................................................................................................................ 3 Terminology used in this guide................................................................................................................................................. 3 About the author ...................................................................................................................................................................... 3 Prerequisites and other requirements.............................................................................................................................................. 4 AD FS 2.0................................................................................................................................................................................... 4 Moodle...................................................................................................................................................................................... 4 SimpleSAMLPHP........................................................................................................................................................................ 4 Moodle Plugins ......................................................................................................................................................................... 7 Appendix A: Using AD FS 2.0 with SimpleSAMLPHP – Claim mapping rules................................................................................... 10
  • 3. © 2013 Microsoft Corporation. All rights reserved. Page 3 About this guide This guide provides step-by-step instructions for configuring a basic identity federation deployment between Moodle and Office 365. This deployment uses federated identities and leverages the capabilities of Microsoft® Active Directory® Federation Services 2.0 (AD FS 2.0), the Security Assertion Markup Language (SAML) 2.0 protocol (http://go.microsoft.com/fwlink/?LinkId=193996), and SAML 2.0 HTTP POST binding (provided by the SimpleSAMLPHP authentication framework). Objectives for this project:  Provide an Office 365 single sign-on experience for a Federated namespace via the AD FS Secure Token Service (STS) where AD FS acts as the Identity Provider (IdP), and STS and Moodle (via SimpleSAMLPHP) both act as the Service Provider (SP)  Use native Moodle extensions where possible  Support User autoprovisioning in Moodle  Support Course auto enrollment in Moodle Terminology used in this guide Throughout this document, there are numerous references to federation concepts that are called by different names in the Microsoft and Shibboleth products. The following table assists in drawing parallels between the two vendors’ technologies. Table 1. Terminology differences AD FS 2.0 name Shibboleth name Concept Security token Assertion An XML document that is created and sent during a federated access request that describes a user Claims provider Identity provider (IdP) A partner in a federation that creates security tokens for users Relying party Service provider (SP) A partner in a federation that consumes security tokens to provide access to applications Claims Assertion attributes Data about users that is sent inside security tokens In this deployment, each product performs both the claims provider/identity provider role and the relying party/service provider role. About the author Adam Bradley (abradley@microsoft.com) is an Office 365 Architect for Microsoft.
  • 4. © 2013 Microsoft Corporation. All rights reserved. Page 4 Prerequisites and other requirements This lab assumes that you have an existing deployment of Office 365, with AD FS 2.0 configured to support federated authentication (single sign-on). Follow the guidance provide at http://technet.microsoft.com/en-us/library/jj151794.aspx. AD FS 2.0 AD FS 2.0 assumes the role of Identity Provider and Security Token Service and will handle login requests that follow the WS-Fed (Active), WS-Trust (Passive), and SAMLP standards. This deployment uses a wildcard SSO certificate to provide a cost effective way of securing a number of different services with a single certificate. Moodle Use the Microsoft Web Platform Installer to install Moodle along with the other prerequisites, including MySQL and PHP. Be sure that you have also made these modifications:  Update the server URL and configure it to use HTTPS.  Enable both the SAML Authentication and SAML Enrolment modules (covered later in this document). SimpleSAMLPHP This deployment uses the SimpleSAMLPHP framework to extend the authentication protocol abilities of Moodle and provide SAML2 protocol support. SimpleSAMLPHP acts as a Service Provider and is configured to send authentication requests to a remote SAMLP Identity Provider. Follow these steps to install and configure SimpleSAMLPHP. 1. Download the latest version of SimpleSAMLPHP. At the time of writing, this was simplesamlphp- 1.10.0.tar.gz from http://code.google.com/p/simplesamlphp/downloads. Unzip the download to a secure location. 2. In Internet Information Services (IIS) Manager, map a Virtual Directory “/simplesaml” to the “www” directory inside the unzipped download. Ensure IIS has rights to this directory.
  • 5. © 2013 Microsoft Corporation. All rights reserved. Page 5 3. Update the SimpleSAMLPHP Service Provider configuration in the config/authsources.php file. The updated configuration should look like the one in this example. 'default-sp' => array( 'saml:SP', // The entity ID of this SP. Can be NULL/unset, in which case an entity ID is generated based on the metadata URL. 'entityID' => NULL, // The entity ID of the IdP this should SP should contact. 'idp' => 'http://idp.contoso.com/adfs/services/trust', // The URL to the discovery service. 'discoURL' => NULL, // NameIDPolicy must be unspecified for ADFS 'NameIDPolicy' => 'urn:oasis:names:tc:SAML:1.1:nameid- format:unspecified', 'simplesaml.nameidattribute' => 'email', For more information on how to configure SimpleSAMLPHP, see http://simplesamlphp.org/docs/stable/saml:sp. 4. Configure the Identity Provider to be used with this Service Provider. Update the metadata/saml20-idp-remote.php file. The certFingerprint value is the certificate thumbprint of the AD FS Token-signing certificate. The updated configuration should look like the one in this example: $metadata['http://idp.contoso.com/adfs/services/trust'] = array( 'name' => array( 'en' => 'ADFS IdP', ), 'description' => 'Here you can login with your account on the Active Directory network.', 'SingleSignOnService' => 'https://idp.contoso.com/adfs/ls', 'SingleLogoutService' => 'https://idp.consoso.com/adfs/ls/?wa=wsignout1.0&wreply=https://idp.con toso.com/adfs/ls/?wa=wsignoutcleanup1.0', 'certFingerprint' => '571f9d649a950280de1b25f7c1259bf84ff7501d', ); 5. When the Service Provider is configured, import the Service Provider Metadata. The URL for this is available from the Administrative Console “Federation” tab.
  • 6. © 2013 Microsoft Corporation. All rights reserved. Page 6 6. Add SimpleSAMLPHP as a relying party in AD FS 2.0 using the standard SAML Metadata. 7. Finalize the configuration of AD FS 2.0 to communicate with SimpleSAMLPHP: a. In the Relying Party Trust relationship, set the advanced setting to use the SHA-1 secure hash algorithm. b. Switch off claims encryption in AD FS by using these PowerShell cmdlets: Add-PSSnapin Microsoft.Adfs.PowerShell Set-ADFSRelyingPartyTrust -TargetName "SimpleSAMLPHP SP" -EncryptClaims $False c. Add the necessary claim mappings by importing from the file containing the claim mappings. See Error! Reference source not found. at the end of this document for the omplete list of claims.
  • 7. © 2013 Microsoft Corporation. All rights reserved. Page 7 Moodle Plugins The Moodle community provides integration and product enhancements for all aspects of the product, including the areas of authentication and enrollment. To provide support for single sign-on and automated account provisioning in Moodle, use the SAMLP Authentication plugin. If you’re interested in automatic course enrollment based on your Active Directory group membership, use the SAMLP Enrollment plugin. Both of these plugins use the SimpleSAMLPHP framework as the underlying mechanism to handle the SAMLP login flows. SAML Authentication Plugin The SAML Authentication Plugin can be downloaded from the Moodle Wiki and installed by following the instructions available at https://moodle.org/plugins/view.php?plugin=auth_saml. This plugin allows for the automated creation of accounts in Moodle when users are authenticated with a valid SAMLP claim. In the Site Administration interface, enable and configure the SAML Authentication Plugin. On a Windows platform, the path to the SimpleSAMLPHP library must include the double backslashes () as shown in the SimpleSAMLPHP Library Path entry. You can also configure User Data Mapping (which populates the Moodle User profile with values from the SAML Attributes in the incoming claim). Ensure that all of the attributes you want to include in the Moodle User profile are added to the incoming claim (as configured in AD FS 2.0).
  • 8. © 2013 Microsoft Corporation. All rights reserved. Page 8 SAML Enrolment Plugin The SAML Enrolment Plugin can be downloaded from the Moodle Wiki and installed by following the instructions available at https://moodle.org/plugins/view.php?plugin=enrol_saml. This plugin depends on the implementation of the SAML Authentication Plugin, and enables the user to be automatically enrolled in Moodle courses based on the SAML schacUserStatus attribute. Full documentation for this setup, which does the bulk of the enrollment work, is available in the SAML Authentication Plugin Documentation (https://github.com/pitbulk/moodle_saml/blob/master/auth/saml/moodle_auth_saml.txt). You configure this component in the SAML Authentication Plugin. Only a small amount of configuration is needed after you enable the plugin.
  • 9. © 2013 Microsoft Corporation. All rights reserved. Page 9 The user’s Active Directory Group membership must be sent in the SAML schacUserStatus attribute for the Plugin to process SAML enrollments automatically. All course and role mappings must be added to the SAML Authentication Plugin.
  • 10. © 2013 Microsoft Corporation. All rights reserved. Page 10 Appendix A: Using AD FS 2.0 with SimpleSAMLPHP – Claim mapping rules To apply the following claim mapping rules to the SimpleSAMLPHP SP, copy the list at the end of this document to a file, and then use the Set-AdfsRelyingPartyTrust Powershell command to import, as in this example. Add-PSSnapin Microsoft.Adfs.PowerShell Set-AdfsRelyingPartyTrust -TargetName "SimpleSAMLPHP SP" - IssuanceTransformRulesFile "c:SimpleSAMLPHP-issuance-transformation- rules.txt" ---snip--- @RuleTemplate = "LdapClaims" @RuleName = "Default" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", "http://schemas.xmlsoap.org/claims/Group", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"), query = ";userPrincipalName,userPrincipalName,tokenGroups,mail,givenName,sn;{0}", param = c.Value); @RuleName = "Transform UPN to epPN" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"] => issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.6", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); @RuleName = "Transform Group to epSA" c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value == "Domain Users"] => issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.9", Value = "member@contoso.com", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); @RuleName = "CN" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"] => issue(Type = "cn", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); @RuleName = "mail" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email"] => issue(Type = "mail", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
  • 11. © 2013 Microsoft Corporation. All rights reserved. Page 11 @RuleName = "eduPersonPrincipalName" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"] => issue(Type = "eduPersonPrincipalName", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); @RuleName = "UID" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"] => issue(Type = "uid", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); @RuleName = "UPN" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"] => issue(Type = "UPN", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); @RuleName = "GivenName" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"] => issue(Type = "givenName", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); @RuleName = "Surname" c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"] => issue(Type = "sn", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/at tributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"); ---snip---