如何解决如何使用MSAL获取Sharepoint API的访问令牌
我有.NET Core控制台应用程序,我正在尝试使用MSAL.NET库获取SharePoint API的访问令牌。
在代码中,我正在获取acces令牌
var clientApp = PublicClientApplicationBuilder.Create("<client_id>")
.WithAuthority($"https://login.microsoftonline.com/{<tenant_id>}")
.WithDefaultRedirectUri()
.Build();
var accounts = await clientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
var authResult = await clientApp.AcquireTokenSilent("https://tenant.sharepoint.com/.default",firstAccount).ExecuteAsync();
AcquireTokenSilent
抛出MsalUiRequiredException
,所以我打电话
authResult = await clientApp.AcquireTokenByUsernamePassword(new string[] { "https://tenant.sharepoint.com/.default" },"userName",<password>).ExecuteAsync();
但返回
远程服务器返回错误:(401)未经授权。
根据MSAL,可以使用用户的凭据来获取访问令牌。
如果我基于v2-oauth-ropc发送简单的POST请求,则会收到访问令牌。 我想MSAL.NET在内部发送相同的POST请求。
解决方法
代码应该起作用。请提供请求或相关ID和时间戳。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。