C# 认证SharePoint Online时账号密码正确仍提示不匹配问题求助
问题排查与修复方案
报错原因为身份验证不通过,确认账号密码正确仍出现该报错,可按以下优先级排查:
- 账号开启多因素认证(MFA)
SharePointOnlineCredentials类不支持MFA验证,若账号开启MFA需替换登录密码为账号专属的应用密码,应用密码需在微软账号安全中心创建,仅支持非托管租户、且租户管理员开放应用密码创建权限的场景使用。 - 租户禁用Legacy身份验证
目前SharePoint Online默认禁用Legacy身份验证协议,而用户名密码认证属于Legacy协议范畴,被禁用时会触发该报错。建议更换为更安全的Azure AD应用认证方式,示例代码如下:
该方案需要提前在Azure AD注册应用,为应用分配SharePoint站点对应权限并完成管理员授权即可使用。// 需要先安装NuGet包:PnP.Framework private static void SPClientSecretConnect() { const string SiteUrl = "https://tenant.sharepoint.com/sites/mysite"; const string clientId = "Azure AD注册应用的客户端ID"; const string clientSecret = "Azure AD注册应用的客户端密钥"; const string tenantDomain = "tenant.onmicrosoft.com"; using (var authManager = new PnP.Framework.AuthenticationManager(clientId, clientSecret, tenantDomain)) using (var context = authManager.GetContext(SiteUrl)) { var web = context.Web; context.Load(web); context.ExecuteQuery(); Console.WriteLine($"web title: {web.Title}"); } } - 配置项拼写错误
二次校验站点URL、用户名后缀的租户域名、密码是否存在拼写错误,是否有多余的空格或特殊符号。 - 账号无站点权限
直接通过浏览器访问目标SharePoint站点地址,登录对应账号确认可正常访问站点,排除权限不足问题。
内容的提问来源于stack exchange,提问作者AdmDTR
相关产品推荐
相关产品推荐

