Forum Discussion
Authenticating to SharePoint Online site using CSOM
- Aug 02, 2017
I've seen this error more than once. In most cases I just typed username / password wrong. Federated authentication should not be a problem but have you considered using App Credentials also? Are you using Multi-factor authentication?
PnP's AuthenticationManager Class provides some usefull utility methods to obtain an authenticated context in different ways. Could you try using GetWebLoginClientContext for getting an authenticated context?
https://github.com/SharePoint/PnP-Sites-Core/blob/master/Core/OfficeDevPnP.Core/AuthenticationManager.cs
It looks like we are facing a similar issue, but have asked in different parts of the forum. https://techcommunity.microsoft.com/t5/SharePoint/Using-SharePoint-Client-Side-Object-Model-with-PowerShell-and/m-p/92734#M8667
I'll let know if I find anything.
Thanks Chris, i am glad that i am not the only one with this issue.
- Chris StewartAug 03, 2017Brass ContributorPaul's solution on the other thread works for me!
Paul Paschareplied to Chris Stewartyesterday - last edited yesterday
SolutionConnecting to SharePoint Online using PnP PowerShell Connect-PnPOnline allows you to specify a UseWebLogin parameter. This allows you to connect with MFA enabled. Once connected you'd have many more https://github.com/SharePoint/PnP-PowerShell/blob/master/Documentation/readme.mdat your disposal
https://github.com/SharePoint/PnP-PowerShell
Hope this helps!
- Frederik CarpentierNov 23, 2018Copper Contributor
Here same problem. Federation with MFA, with digital key. So no more UN and PWD.
login with pnp-online works because I can user -weblogin.
But for some parts of my scripting I need CSOM. And the login for CSOM is with UN and PWD and I can't find a way to login with weblogin.
This is the code I used for CSOM-login which doesn't work anymore.
function Connect-CSOM($siteURL)
{
Add-Type -Path ".\Microsoft.SharePoint.Client.dll"
Add-Type -Path ".\Microsoft.SharePoint.Client.Runtime.dll"$adminAccount = "*******************"
$adminPassword = ConvertTo-SecureString "***********" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $adminAccount, $adminPassword#$cred= Get-Credential
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($cred.Username, $cred.Password)$script:contextWeb = New-Object Microsoft.SharePoint.Client.ClientContext($siteURL)
$script:contextWeb.Credentials = $credentials}
- PROTECH_TECHNOLOGYMar 25, 2021Copper ContributorI have another issue, if customer using certificate for select the digital key. How could we skip it using SharePoint online CSOM sdk ?
- Thanh Long HUYNHJan 30, 2018Copper Contributor
Thanks a lot, it works well for us.
- Vijaya VellabatiAug 22, 2017Copper Contributor
Thanks Chris and Paul, i finally able to connect to SP Online site using OfficeDevPnP (
GetWebLoginClientContext)