SlideShare ist ein Scribd-Unternehmen logo
1 von 28
SharePoint, ADFS, ACS and 
Claims-based Authentication 
Kashif Imran 
Kashif_Imran@hotmail.com
Agenda 
• Claims-based Identity Model’s Key Concepts 
• Install and Configure ADFS for SharePoint 2013 
• Configure Azure ACS and SharePoint for SSO using Google etc. 
• Use ADFS as IP-STS via Azure ACS as RP-STS 
• Claims Viewer 
• Custom Claims Provider
Claims with SharePoint is sort of 
like a bird, it’s pretty cute until it 
shits on your head.
I drink beer to celebrate major 
events, the fall of communism, 
or the fact that our SharePoint 
and ADFS is still working.
Identity in Traditional Applications 
• Application 
• Identity Management 
• Account creation 
• Password creation 
• Password change 
• Password reset 
• … 
• 2 Step Verification 
• Attribute Store
Identity in Real World 
• Buy wine/beer example 
• Externalize authentication to DMV 
• Driving license 
• document that is relatively hard to produce/forge 
• Has additional information about user (age) 
• International Travel 
• Passport 
• Boarding Card
Claims-based Identity Model 
• Way for applications to acquire the identity information about internal or external users 
• Abstracts individual elements of identity and access control into “Notion of claims” and “Concept of issuer or an authority” 
• Applications do not need to authenticate users, store user accounts or passwords, etc. 
• Original intention behind the claims-based identity model was to enable federation between organization, but claims are not just 
for federation 
• Claim 
• Statement that one subject (user or organization) makes about itself of another subject. E.g.: name, group, ethnicity etc. 
• Why call these “claims” and not “attributes”? “Delivery method” => User delivers claims to application instead of application looking these up 
in some directory 
• Assert user has logged in 
• Claims are NOT what a user can or can not do, they are what a user is or is not 
• Each claim is made by an issuer, and you trust the claim only as much as you trust the issuer 
• Issuer, Type, Value => (Google, Email, darwaish@gmail.com) 
• Security Token 
• Serialized set of claims that is digitally signed by the issuing authority (Claims are unchanged and comes from whoever signed in) 
• Successful outcome of sign in 
• SAML (Security Assertion Markup Language), SWT (Simple Web Token), JWT (JSON Web Token)
Relying Party and STS 
• Relying Party (RP) 
• An application that relies on claims 
• Claims aware application 
• Claims-based application 
• Security Token Service 
• Service component that builds, signs and issues security tokens 
• Implicit authN (no token, no party) 
• WS-Trust, WS-Fed, SAML 
• IP-STS: 
• authenticates a client and creates SAML token 
• Façade for one or more identity stores 
• RP-STS (R-STS: Resource STS, FP-STS: Federation Provider STS) 
• Transforms token issues by another STS 
• Does not authenticate the client but relies on SAML token provided by IP-STS that it trusts 
• Façade for one boundary 
• Federation Patterns 
• Passive (Web Clients) WS-Trust emulated using GET, POST, redirects and cookies. 
• Active: Code to acquire tokens explicitly
Windows Identity Foundation (WIF) 
• .NET library encapsulating the inner workings of WS-Federation and 
WS-Trust 
• System.IdentityModel 
• System.IdentityModel.Services 
• IPrincipal (IsInRole, Identity), IIdentity (AuthenticationType, 
IsAuthenicated, Name) 
• IClaimsPrincipal = IPrincipal + Identities 
• IClaimsIdentity = IIdentity + Claims 
• Claims: Property bag, Subject, issuer, originalissuer, claimtype, value, 
valuetype
ADFS V2: Active Directory Federation Services 
• STS 
• WS*(WS-Trust, WS-SecurityPolicy, WS-Federation, SAML) 
• Claims provider 
• Federation service for identity across domains 
• Consumers: SharePoint, Azure ACS, WCF, Others 
• Federation Metadata: 
• How do RP know its from STS 
• What claims 
• Where is STS 
• SAML Claims
SharePoint Authentication 
• Windows (Classic) Authentication: NTLM, Kerberos(Multi hop) 
• Claims Based AuthN 
• Claims or Classic in the end you are SPUser 
• C2WTS(Claims to windows token service)
SharePoint with ADFS
Federating Identity
The Hub Model
Windows VS Trusted Identity Authentication
Claims Viewer 
IClaimsPrincipal principal = Page.User as IClaimsPrincipal; 
IClaimsIdentity identity = principal.Identity as IClaimsIdentity; 
gv.DataSource = identity.Claims; 
gv.DataBind();
SharePoint Claims
SharePoint Claims Encoding 
• <IdentityClaim> indicates the type of claim and is the following: 
• “i” for an identity claim 
• “c” for any other claim 
• <ClaimType> indicates the format for the claim value and is the following: 
• “#” for a user logon name 
• “.” for an anonymous user 
• “5” for an email address 
• “!” for an identity provider 
• “+” for a Group security identifier (SID) 
• “-“ for a role 
• “%” for a farm ID 
• “?” for a name identifier 
• "" for a private personal identifier (PPID) 
• <ClaimValueType> indicates the type of formatting for the claim value and is the following: 
• “.” for a string 
• “+” for an RFC 822-formatted name 
• <AuthMode> indicates the type of authentication used to obtain the identity claim and is the following: 
• “w” for Windows claims (no original issuer) 
• “s” for the local SharePoint security token service (STS) (no original issuer) 
• “t” for a trusted issuer 
• “m” for a membership issuer 
• “r” for a role provider issuer 
• “f” for forms-based authentication 
• “c” for a claim provider 
• <OriginalIssuer> indicates the original issuer of the claim. 
• <ClaimValueType> indicates the value of the claim in the <ClaimType> format. 
• http://msdn.microsoft.com/en-us/library/gg481769.aspx#claimswalkthrough5_AppendixA
SharePoint Claims Encoding 
Type of claim Encoded claim Claim encoding breakdown 
Windows User i:0#.w|contosokashif •“i” for an identity claim 
•“#” for the user logon name format for the claim value 
•“.” for a string 
•“w” for Windows claims 
•“contosokashif” for the identity claim value (the Windows account name) 
Windows Authenticated Users group c:0!.s|windows •“c” for a claim other than identity 
•“!” for an identity provider 
•“.” for a string 
•“s” for the local SharePoint STS 
•“windows” for the Windows Authenticated Users group 
SAML authentication (Trusted User) i:05.t|adfs|kashif@contoso.com •“i” for an identity claim 
•“5” for the email address format for the claim value 
•“.” for a string 
•“t” for a trusted issuer 
•“adfs” identifies the original issuer of the identity claim 
•“kashif@contoso.com” for the identity claim value 
Forms-based authentication i:0#.f|mymembershipprovider|kashif •“i” for an identity claim 
•“#”for the user logon name format for the claim value 
•“.” for string 
•“f” for forms-based authentication 
•“mymembershipprovider” identifies the original issuer of the identity claim 
•“kashif” for the user logon name
Claims Resolution and Augmentation 
• Inherit a class from 
Microsoft.SharePoint.Administration.Claims.SPClaimsProvider 
• Register using 
• Microsoft.SharePoint.Administration.Claims.SPClaimsProviderFeatureReceiver 
• Implement 
• FillClaimsForEntity 
• FillClaimTypes 
• FillClaimValueTypes 
• Register Claims Provider 
• $trusted = Get-SPTrustedIdentityTokenIssuer -Identity “Kashif" 
• $trusted.ClaimProviderName = “KashifClaimsStore" 
• $trusted.Update()
ADFS Deployment 
• Single server configuration 
• ADFS 2.0 server farm and load-balancer 
• ADFS 2.0 Proxy server(s) for offsite users
Install and Configure ADFS V2 
• Install Windows Server 2008 R2 
• Create service account (ssp_adfs) and set SPN 
• Install ADFS server, don't configure it 
• Generate SSL Certificates 
• Token Signing, Token Encryption, Site 
• Disable AutoCertificate Rollover 
• Add-PsSnapin Microsoft.Adfs.Powershell 
• Set-ADFSProperties -AutoCertificateRollover $false 
• Set Primary Certificates 
• Give ADFS account permission on private key of certificates 
• Add Trusted Relying Party 
• Map Claims 
• Email-Addresses => Email Address 
• Token-Groups - Unqualified Names => Role 
• SAM-Account-Name => Windows account name 
• User-Principal-Name => UPN 
• Test Sign On using IdpInitiatedSignOn
SharePoint Configuration for ADFS 
• Export and copy public key of token signing certificate from ADFS 
• Generate SSL and AAM for SharePoint web app 
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(“C:adfsss.cer”) 
$map1 = New-SPClaimTypeMapping “http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress” -IncomingClaimTypeDisplayName “EmailAddress” -SameAsIncoming 
$map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" - 
SameAsIncoming 
$map3 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname" -IncomingClaimTypeDisplayName 
"WindowsAccountName" -SameAsIncoming 
$map4 = New-SPClaimTypeMapping “http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn” -IncomingClaimTypeDisplayName “UPN” -SameAsIncoming 
$realm = "urn:sharepoint:www" 
$signinurl = "https://sso.kashif.com/adfs/ls/" 
$ap = New-SPTrustedIdentityTokenIssuer -Name "Kashif" -Description "Kashif STS" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map1,$map2,$map3,$map4 - 
SignInUrl $signinurl -IdentifierClaim $map3.InputClaimType 
New-SPTrustedRootAuthority “Kashif Trusted Root Authority” -Certificate $cert 
$ap.Update() 
• My Sites or other web apps 
$uri = new-object System.Uri("https://my.kashif.com") 
$ap.ProviderRealms.Add($uri, "urn:sharepoint:my")
SharePoint Trusted Identity Token Issuer 
A SharePoint trusted identity token issuer binds together the details of the identity provider and the 
mapping rules to associate them with a specific SharePoint web application.
Update SharePoint for new ADFS Certificates 
$cert1 = New-Object 
System.Security.Cryptography.X509Certificates.X509Certificate2("C:adf 
supdatesss1.cer") 
Set-SPTrustedRootAuthority -Identity "Kashif Trusted Root Authority 
P1" -Certificate $cert 
Set-SPTrustedIdentityTokenIssuer "Kashif" -ImportTrustCertificate $cert
Azure Access Control Service 
• Build using Claims-based identity principles 
• Support WIF and ADFS V2
Questions 
???

Weitere ähnliche Inhalte

Was ist angesagt?

Office 365 api vs share point app model
Office 365 api vs share point app modelOffice 365 api vs share point app model
Office 365 api vs share point app modelBIWUG
 
Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'Oliver Pfaff
 
How to deploy SharePoint 2010 to external users?
How to deploy SharePoint 2010 to external users?How to deploy SharePoint 2010 to external users?
How to deploy SharePoint 2010 to external users?rlsoft
 
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...Brian Culver
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises DevelopmentEdin Kapic
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...Brian Culver
 
Developing custom claim providers to enable authorization in share point an...
Developing custom claim providers to enable authorization in share point   an...Developing custom claim providers to enable authorization in share point   an...
Developing custom claim providers to enable authorization in share point an...AntonioMaio2
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013SPC Adriatics
 
How Claims is Changing the Way We Authenticate and Authorize in SharePoint
How Claims is Changing the Way We Authenticate and Authorize in SharePointHow Claims is Changing the Way We Authenticate and Authorize in SharePoint
How Claims is Changing the Way We Authenticate and Authorize in SharePointAntonioMaio2
 
Office 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfsOffice 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfsamitchachra
 
NIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud EraNIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud EraMorgan Simonsen
 
Claims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the CloudClaims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Joris Poelmans
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Danny Jessee
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
Extending SharePoint 2010 to your customers and partners
Extending SharePoint 2010 to your customers and partnersExtending SharePoint 2010 to your customers and partners
Extending SharePoint 2010 to your customers and partnersCorey Roth
 
SharePoint Saturday The Conference DC - Are you who you say you are share poi...
SharePoint Saturday The Conference DC - Are you who you say you are share poi...SharePoint Saturday The Conference DC - Are you who you say you are share poi...
SharePoint Saturday The Conference DC - Are you who you say you are share poi...Liam Cleary [MVP]
 
SharePoint Saturday Toronto July 2012 - Antonio Maio
SharePoint Saturday Toronto July 2012 - Antonio MaioSharePoint Saturday Toronto July 2012 - Antonio Maio
SharePoint Saturday Toronto July 2012 - Antonio MaioAntonioMaio2
 

Was ist angesagt? (20)

Office 365 api vs share point app model
Office 365 api vs share point app modelOffice 365 api vs share point app model
Office 365 api vs share point app model
 
Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'
 
How to deploy SharePoint 2010 to external users?
How to deploy SharePoint 2010 to external users?How to deploy SharePoint 2010 to external users?
How to deploy SharePoint 2010 to external users?
 
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
 
Developing custom claim providers to enable authorization in share point an...
Developing custom claim providers to enable authorization in share point   an...Developing custom claim providers to enable authorization in share point   an...
Developing custom claim providers to enable authorization in share point an...
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
How Claims is Changing the Way We Authenticate and Authorize in SharePoint
How Claims is Changing the Way We Authenticate and Authorize in SharePointHow Claims is Changing the Way We Authenticate and Authorize in SharePoint
How Claims is Changing the Way We Authenticate and Authorize in SharePoint
 
Office 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfsOffice 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfs
 
NIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud EraNIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud Era
 
Claims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the CloudClaims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the Cloud
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Extending SharePoint 2010 to your customers and partners
Extending SharePoint 2010 to your customers and partnersExtending SharePoint 2010 to your customers and partners
Extending SharePoint 2010 to your customers and partners
 
SharePoint Saturday The Conference DC - Are you who you say you are share poi...
SharePoint Saturday The Conference DC - Are you who you say you are share poi...SharePoint Saturday The Conference DC - Are you who you say you are share poi...
SharePoint Saturday The Conference DC - Are you who you say you are share poi...
 
SharePoint Saturday Toronto July 2012 - Antonio Maio
SharePoint Saturday Toronto July 2012 - Antonio MaioSharePoint Saturday Toronto July 2012 - Antonio Maio
SharePoint Saturday Toronto July 2012 - Antonio Maio
 

Ähnlich wie SharePoint, ADFS and Claims Auth

unit 1 Federated Identity Management_4.pptx
unit 1 Federated Identity Management_4.pptxunit 1 Federated Identity Management_4.pptx
unit 1 Federated Identity Management_4.pptxzmulani8
 
Single SignOn with Federation using Claims
Single SignOn with Federation using ClaimsSingle SignOn with Federation using Claims
Single SignOn with Federation using ClaimsVolkan Uzun
 
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?SharePoint Saturday Utah - Do you claim to be from the Azure Sky?
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?Liam Cleary [MVP]
 
Claims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners GuideClaims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners GuidePhuong Nguyen
 
SharePoint Authentication And Authorization SPTechCon San Francisco
SharePoint Authentication And Authorization SPTechCon San FranciscoSharePoint Authentication And Authorization SPTechCon San Francisco
SharePoint Authentication And Authorization SPTechCon San FranciscoLiam Cleary [MVP]
 
The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)Jay Simcox
 
Exploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access ManagerExploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access ManagerNovell
 
Claims Based Authentication in SharePoint 2010
Claims Based Authentication in SharePoint 2010Claims Based Authentication in SharePoint 2010
Claims Based Authentication in SharePoint 2010Jonathan Schultz
 
Ymens - Cloud Identity Crisis - Dev Talks 2015
Ymens - Cloud Identity Crisis - Dev Talks 2015Ymens - Cloud Identity Crisis - Dev Talks 2015
Ymens - Cloud Identity Crisis - Dev Talks 2015Vlad Mihnea
 
Passwordless Development using Azure Identity
Passwordless Development using Azure IdentityPasswordless Development using Azure Identity
Passwordless Development using Azure IdentitySarah Dutkiewicz
 
Deploying your static web app to the Cloud
Deploying your static web app to the CloudDeploying your static web app to the Cloud
Deploying your static web app to the CloudChristoffer Noring
 
SharePoint Saturday Austin - Share point authentication and authorization
SharePoint Saturday Austin - Share point authentication and authorizationSharePoint Saturday Austin - Share point authentication and authorization
SharePoint Saturday Austin - Share point authentication and authorizationLiam Cleary [MVP]
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB
 
Introduction to claims based authentication in share point 2010
Introduction to claims based authentication in share point 2010Introduction to claims based authentication in share point 2010
Introduction to claims based authentication in share point 2010Officience
 
Claims based authentication in SharePoint 2010 - SharePoint Saturday Vietnam
Claims based authentication in SharePoint 2010 - SharePoint Saturday VietnamClaims based authentication in SharePoint 2010 - SharePoint Saturday Vietnam
Claims based authentication in SharePoint 2010 - SharePoint Saturday VietnamOfficience
 
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB
 
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group UpdateOIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group UpdateOpenIDFoundation
 
SharePoint Access Control and Claims Based Authentication
SharePoint Access Control and Claims Based AuthenticationSharePoint Access Control and Claims Based Authentication
SharePoint Access Control and Claims Based AuthenticationJonathan Schultz
 
Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19
Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19
Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19Andrew Hughes
 

Ähnlich wie SharePoint, ADFS and Claims Auth (20)

SPSBE 2013 Claims for devs
SPSBE 2013 Claims for devsSPSBE 2013 Claims for devs
SPSBE 2013 Claims for devs
 
unit 1 Federated Identity Management_4.pptx
unit 1 Federated Identity Management_4.pptxunit 1 Federated Identity Management_4.pptx
unit 1 Federated Identity Management_4.pptx
 
Single SignOn with Federation using Claims
Single SignOn with Federation using ClaimsSingle SignOn with Federation using Claims
Single SignOn with Federation using Claims
 
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?SharePoint Saturday Utah - Do you claim to be from the Azure Sky?
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?
 
Claims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners GuideClaims Based Authentication A Beginners Guide
Claims Based Authentication A Beginners Guide
 
SharePoint Authentication And Authorization SPTechCon San Francisco
SharePoint Authentication And Authorization SPTechCon San FranciscoSharePoint Authentication And Authorization SPTechCon San Francisco
SharePoint Authentication And Authorization SPTechCon San Francisco
 
The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)
 
Exploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access ManagerExploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access Manager
 
Claims Based Authentication in SharePoint 2010
Claims Based Authentication in SharePoint 2010Claims Based Authentication in SharePoint 2010
Claims Based Authentication in SharePoint 2010
 
Ymens - Cloud Identity Crisis - Dev Talks 2015
Ymens - Cloud Identity Crisis - Dev Talks 2015Ymens - Cloud Identity Crisis - Dev Talks 2015
Ymens - Cloud Identity Crisis - Dev Talks 2015
 
Passwordless Development using Azure Identity
Passwordless Development using Azure IdentityPasswordless Development using Azure Identity
Passwordless Development using Azure Identity
 
Deploying your static web app to the Cloud
Deploying your static web app to the CloudDeploying your static web app to the Cloud
Deploying your static web app to the Cloud
 
SharePoint Saturday Austin - Share point authentication and authorization
SharePoint Saturday Austin - Share point authentication and authorizationSharePoint Saturday Austin - Share point authentication and authorization
SharePoint Saturday Austin - Share point authentication and authorization
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day One
 
Introduction to claims based authentication in share point 2010
Introduction to claims based authentication in share point 2010Introduction to claims based authentication in share point 2010
Introduction to claims based authentication in share point 2010
 
Claims based authentication in SharePoint 2010 - SharePoint Saturday Vietnam
Claims based authentication in SharePoint 2010 - SharePoint Saturday VietnamClaims based authentication in SharePoint 2010 - SharePoint Saturday Vietnam
Claims based authentication in SharePoint 2010 - SharePoint Saturday Vietnam
 
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
 
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group UpdateOIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
 
SharePoint Access Control and Claims Based Authentication
SharePoint Access Control and Claims Based AuthenticationSharePoint Access Control and Claims Based Authentication
SharePoint Access Control and Claims Based Authentication
 
Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19
Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19
Digital Identity Landscape for Vancouver IAM Meetup 2017 12-19
 

Mehr von Kashif Imran

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint StoreKashif Imran
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 BrandingKashif Imran
 
Enterprise Content Management (ECM) in the Cloud
Enterprise Content Management (ECM) in the CloudEnterprise Content Management (ECM) in the Cloud
Enterprise Content Management (ECM) in the CloudKashif Imran
 
Microsoft Azure WebJobs
Microsoft Azure WebJobsMicrosoft Azure WebJobs
Microsoft Azure WebJobsKashif Imran
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - IntroductionKashif Imran
 

Mehr von Kashif Imran (8)

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 Branding
 
Enterprise Content Management (ECM) in the Cloud
Enterprise Content Management (ECM) in the CloudEnterprise Content Management (ECM) in the Cloud
Enterprise Content Management (ECM) in the Cloud
 
Microsoft Azure WebJobs
Microsoft Azure WebJobsMicrosoft Azure WebJobs
Microsoft Azure WebJobs
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - Introduction
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

SharePoint, ADFS and Claims Auth

  • 1. SharePoint, ADFS, ACS and Claims-based Authentication Kashif Imran Kashif_Imran@hotmail.com
  • 2. Agenda • Claims-based Identity Model’s Key Concepts • Install and Configure ADFS for SharePoint 2013 • Configure Azure ACS and SharePoint for SSO using Google etc. • Use ADFS as IP-STS via Azure ACS as RP-STS • Claims Viewer • Custom Claims Provider
  • 3. Claims with SharePoint is sort of like a bird, it’s pretty cute until it shits on your head.
  • 4. I drink beer to celebrate major events, the fall of communism, or the fact that our SharePoint and ADFS is still working.
  • 5. Identity in Traditional Applications • Application • Identity Management • Account creation • Password creation • Password change • Password reset • … • 2 Step Verification • Attribute Store
  • 6. Identity in Real World • Buy wine/beer example • Externalize authentication to DMV • Driving license • document that is relatively hard to produce/forge • Has additional information about user (age) • International Travel • Passport • Boarding Card
  • 7. Claims-based Identity Model • Way for applications to acquire the identity information about internal or external users • Abstracts individual elements of identity and access control into “Notion of claims” and “Concept of issuer or an authority” • Applications do not need to authenticate users, store user accounts or passwords, etc. • Original intention behind the claims-based identity model was to enable federation between organization, but claims are not just for federation • Claim • Statement that one subject (user or organization) makes about itself of another subject. E.g.: name, group, ethnicity etc. • Why call these “claims” and not “attributes”? “Delivery method” => User delivers claims to application instead of application looking these up in some directory • Assert user has logged in • Claims are NOT what a user can or can not do, they are what a user is or is not • Each claim is made by an issuer, and you trust the claim only as much as you trust the issuer • Issuer, Type, Value => (Google, Email, darwaish@gmail.com) • Security Token • Serialized set of claims that is digitally signed by the issuing authority (Claims are unchanged and comes from whoever signed in) • Successful outcome of sign in • SAML (Security Assertion Markup Language), SWT (Simple Web Token), JWT (JSON Web Token)
  • 8. Relying Party and STS • Relying Party (RP) • An application that relies on claims • Claims aware application • Claims-based application • Security Token Service • Service component that builds, signs and issues security tokens • Implicit authN (no token, no party) • WS-Trust, WS-Fed, SAML • IP-STS: • authenticates a client and creates SAML token • Façade for one or more identity stores • RP-STS (R-STS: Resource STS, FP-STS: Federation Provider STS) • Transforms token issues by another STS • Does not authenticate the client but relies on SAML token provided by IP-STS that it trusts • Façade for one boundary • Federation Patterns • Passive (Web Clients) WS-Trust emulated using GET, POST, redirects and cookies. • Active: Code to acquire tokens explicitly
  • 9. Windows Identity Foundation (WIF) • .NET library encapsulating the inner workings of WS-Federation and WS-Trust • System.IdentityModel • System.IdentityModel.Services • IPrincipal (IsInRole, Identity), IIdentity (AuthenticationType, IsAuthenicated, Name) • IClaimsPrincipal = IPrincipal + Identities • IClaimsIdentity = IIdentity + Claims • Claims: Property bag, Subject, issuer, originalissuer, claimtype, value, valuetype
  • 10. ADFS V2: Active Directory Federation Services • STS • WS*(WS-Trust, WS-SecurityPolicy, WS-Federation, SAML) • Claims provider • Federation service for identity across domains • Consumers: SharePoint, Azure ACS, WCF, Others • Federation Metadata: • How do RP know its from STS • What claims • Where is STS • SAML Claims
  • 11. SharePoint Authentication • Windows (Classic) Authentication: NTLM, Kerberos(Multi hop) • Claims Based AuthN • Claims or Classic in the end you are SPUser • C2WTS(Claims to windows token service)
  • 15. Windows VS Trusted Identity Authentication
  • 16.
  • 17. Claims Viewer IClaimsPrincipal principal = Page.User as IClaimsPrincipal; IClaimsIdentity identity = principal.Identity as IClaimsIdentity; gv.DataSource = identity.Claims; gv.DataBind();
  • 19. SharePoint Claims Encoding • <IdentityClaim> indicates the type of claim and is the following: • “i” for an identity claim • “c” for any other claim • <ClaimType> indicates the format for the claim value and is the following: • “#” for a user logon name • “.” for an anonymous user • “5” for an email address • “!” for an identity provider • “+” for a Group security identifier (SID) • “-“ for a role • “%” for a farm ID • “?” for a name identifier • "" for a private personal identifier (PPID) • <ClaimValueType> indicates the type of formatting for the claim value and is the following: • “.” for a string • “+” for an RFC 822-formatted name • <AuthMode> indicates the type of authentication used to obtain the identity claim and is the following: • “w” for Windows claims (no original issuer) • “s” for the local SharePoint security token service (STS) (no original issuer) • “t” for a trusted issuer • “m” for a membership issuer • “r” for a role provider issuer • “f” for forms-based authentication • “c” for a claim provider • <OriginalIssuer> indicates the original issuer of the claim. • <ClaimValueType> indicates the value of the claim in the <ClaimType> format. • http://msdn.microsoft.com/en-us/library/gg481769.aspx#claimswalkthrough5_AppendixA
  • 20. SharePoint Claims Encoding Type of claim Encoded claim Claim encoding breakdown Windows User i:0#.w|contosokashif •“i” for an identity claim •“#” for the user logon name format for the claim value •“.” for a string •“w” for Windows claims •“contosokashif” for the identity claim value (the Windows account name) Windows Authenticated Users group c:0!.s|windows •“c” for a claim other than identity •“!” for an identity provider •“.” for a string •“s” for the local SharePoint STS •“windows” for the Windows Authenticated Users group SAML authentication (Trusted User) i:05.t|adfs|kashif@contoso.com •“i” for an identity claim •“5” for the email address format for the claim value •“.” for a string •“t” for a trusted issuer •“adfs” identifies the original issuer of the identity claim •“kashif@contoso.com” for the identity claim value Forms-based authentication i:0#.f|mymembershipprovider|kashif •“i” for an identity claim •“#”for the user logon name format for the claim value •“.” for string •“f” for forms-based authentication •“mymembershipprovider” identifies the original issuer of the identity claim •“kashif” for the user logon name
  • 21. Claims Resolution and Augmentation • Inherit a class from Microsoft.SharePoint.Administration.Claims.SPClaimsProvider • Register using • Microsoft.SharePoint.Administration.Claims.SPClaimsProviderFeatureReceiver • Implement • FillClaimsForEntity • FillClaimTypes • FillClaimValueTypes • Register Claims Provider • $trusted = Get-SPTrustedIdentityTokenIssuer -Identity “Kashif" • $trusted.ClaimProviderName = “KashifClaimsStore" • $trusted.Update()
  • 22. ADFS Deployment • Single server configuration • ADFS 2.0 server farm and load-balancer • ADFS 2.0 Proxy server(s) for offsite users
  • 23. Install and Configure ADFS V2 • Install Windows Server 2008 R2 • Create service account (ssp_adfs) and set SPN • Install ADFS server, don't configure it • Generate SSL Certificates • Token Signing, Token Encryption, Site • Disable AutoCertificate Rollover • Add-PsSnapin Microsoft.Adfs.Powershell • Set-ADFSProperties -AutoCertificateRollover $false • Set Primary Certificates • Give ADFS account permission on private key of certificates • Add Trusted Relying Party • Map Claims • Email-Addresses => Email Address • Token-Groups - Unqualified Names => Role • SAM-Account-Name => Windows account name • User-Principal-Name => UPN • Test Sign On using IdpInitiatedSignOn
  • 24. SharePoint Configuration for ADFS • Export and copy public key of token signing certificate from ADFS • Generate SSL and AAM for SharePoint web app $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(“C:adfsss.cer”) $map1 = New-SPClaimTypeMapping “http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress” -IncomingClaimTypeDisplayName “EmailAddress” -SameAsIncoming $map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" - SameAsIncoming $map3 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname" -IncomingClaimTypeDisplayName "WindowsAccountName" -SameAsIncoming $map4 = New-SPClaimTypeMapping “http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn” -IncomingClaimTypeDisplayName “UPN” -SameAsIncoming $realm = "urn:sharepoint:www" $signinurl = "https://sso.kashif.com/adfs/ls/" $ap = New-SPTrustedIdentityTokenIssuer -Name "Kashif" -Description "Kashif STS" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map1,$map2,$map3,$map4 - SignInUrl $signinurl -IdentifierClaim $map3.InputClaimType New-SPTrustedRootAuthority “Kashif Trusted Root Authority” -Certificate $cert $ap.Update() • My Sites or other web apps $uri = new-object System.Uri("https://my.kashif.com") $ap.ProviderRealms.Add($uri, "urn:sharepoint:my")
  • 25. SharePoint Trusted Identity Token Issuer A SharePoint trusted identity token issuer binds together the details of the identity provider and the mapping rules to associate them with a specific SharePoint web application.
  • 26. Update SharePoint for new ADFS Certificates $cert1 = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:adf supdatesss1.cer") Set-SPTrustedRootAuthority -Identity "Kashif Trusted Root Authority P1" -Certificate $cert Set-SPTrustedIdentityTokenIssuer "Kashif" -ImportTrustCertificate $cert
  • 27. Azure Access Control Service • Build using Claims-based identity principles • Support WIF and ADFS V2