gpt4 book ai didi

.net - 使用 Microsoft.SharePoint.Client.ClientContext 对 SharePoint Online 进行身份验证在 VS 中有效,但在 Azure Function 中失败

转载 作者:行者123 更新时间:2023-12-03 03:56:15 25 4
gpt4 key购买 nike

我有一些代码来创建一个 SharePoint Online 现代页面,该页面在 VS 中运行良好,并使用三个不同的 SharePoint 帐户进行了测试。在 Azure 函数上运行的相同代码仅适用于三个帐户之一。对于不起作用的帐户,我收到消息:登录名或密码与 Microsoft 帐户系统中的登录名或密码不匹配。所有三个帐户在 SharePoint 中都具有相同的权限,就像我说的,在 VS 中都可以正常工作。你有什么想法为什么这在 VS 上有效,而在 Azure 上不起作用?我正在使用 .Net Framework,因为已经发现身份验证在 .Net Core 中似乎无法正常工作。

        private static ClientContext GetClientContext(string siteUrl, string userAccount, string userPassword)
{

ClientContext ccNew = new ClientContext(siteUrl); //"https://nelsoncity.sharepoint.com/sites/IwiEngagement/");
SecureString sec_pass = new SecureString();
Array.ForEach(userPassword.ToArray(), sec_pass.AppendChar);
ccNew.Credentials = new SharePointOnlineCredentials(userAccount, sec_pass);

return ccNew;

}

最佳答案

@PDTech

The sign-in name or password does not match one in the Microsoft account system.

出现此错误 - 因为可能在组织网络/域网络之外为这些帐户启用 MFA(多重身份验证)。

对此的快速测试是:

在域网络之外使用一台计算机,尝试使用相同的凭据登录并查看是否遇到任何其他登录步骤(例如电话、短信、身份验证器等)

我怀疑 MFA 在网络级别启用的原因 - 因为它同样适用于本地环境。

有关MFA配置的详细信息

https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-mfasettings#mfa-service-settings

如果可能,您可以免除这些帐户的 MFA 或将 Azure Functions IP 添加为可信 IP。

关于.net - 使用 Microsoft.SharePoint.Client.ClientContext 对 SharePoint Online 进行身份验证在 VS 中有效,但在 Azure Function 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64491609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com