猿问

调试时身份验证成功但在 Azure 应用服务上失败

我只是使用以下方法使用 CSOM 从 SharePoint 获取一些用户。这一直对我有用,我没有遇到任何问题。


突然之间,当我今天尝试调用此方法时,它因此错误而失败


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

at Microsoft.SharePoint.Client.Idcrl.IdcrlAuth.GetServiceToken(String securityXml, String serviceTarget, String servicePolicy)

    at Microsoft.SharePoint.Client.Idcrl.IdcrlAuth.GetServiceToken(String username, String password, String serviceTarget, String servicePolicy)

    at Microsoft.SharePoint.Client.Idcrl.SharePointOnlineAuthenticationProvider.GetAuthenticationCookie(Uri url, String username, SecureString password, Boolean alwaysThrowOnFailure, EventHandler`1 executingWebRequest)

    at Microsoft.SharePoint.Client.SharePointOnlineCredentials.GetAuthenticationCookie(Uri url, Boolean refresh, Boolean alwaysThrowOnFailure)

    at Microsoft.SharePoint.Client.ClientRuntimeContext.SetupRequestCredential(ClientRuntimeContext context, HttpWebRequest request)

    at Microsoft.SharePoint.Client.SPWebRequestExecutor.GetRequestStream()

    at Microsoft.SharePoint.Client.ClientContext.GetFormDigestInfoPrivate()

    at Microsoft.SharePoint.Client.ClientContext.EnsureFormDigest()

    at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()

    at SharePointLibrary.SPClient.GetAllUsers() in C:\Users\bassie\source\repos\TFS\ADVWKSP\SharePointLibrary\SPClientUsers.cs:line 39

但它只会在发布到 Azure 后失败。


我已经记录了用于 Azure 应用程序流的用户名和密码,它们绝对正确,并且在我的机器上调试时使用的用户名和密码是相同的。


这怎么可能?我要疯了吗?


构造函数


public SPClient(string url)

{

    baseUrl = url;

    var userName = ConfigurationManager.ConnectionStrings["SPsvcUsername"].ConnectionString;

    var password = ConfigurationManager.ConnectionStrings["SPsvcPassword"].ConnectionString;

    Trace.TraceInformation(userName);

    Trace.TraceInformation(password);


    var securePassword = new SecureString();

    foreach (var c in password)

    {

        securePassword.AppendChar(c);

    }

    credentials = new SharePointOnlineCredentials(userName, securePassword);

}




慕莱坞森
浏览 251回答 1
1回答

犯罪嫌疑人X

由于凭据正确,可能启用了多重身份验证,并且策略可能会为此帐户触发它。如果是这种情况,您可以为该特定帐户禁用 MFA。此外,作为PnP 核心库一部分的 AuthenticationManager 类可能是有益的,因为它有助于各种身份验证方案。
随时随地看视频慕课网APP
我要回答