我的目标是检查此用户是否属于指定的群组。
我正在尝试使用服务帐户连接到图表,但我不确定如何。我曾尝试查看UserPasswordCredential
,但AcquireTokenAsync
并未将其作为参数,但确实需要UserAssertion
我无法找到有关正确构造该对象的文档。< / p>
任何帮助都将不胜感激。
答案 0 :(得分:2)
如果您使用.Net Framework进行开发,AcquireTokenAsync
会使用UserPasswordCredential
提供修补程序。
以下是供您参考的代码示例:
AuthenticationContext authenticationContext = new AuthenticationContext(UserModeConstants.AuthString, false);
string resrouce = "";
string clientId = "";
string userName = "";
string password = "";
UserPasswordCredential userPasswordCredential = new UserPasswordCredential(userName, password);
var token= authenticationContext.AcquireTokenAsync(resrouce, clientId, userPasswordCredential).Result.AccessToken;
我使用的是版本3.13.5.907
Microsoft.IdentityModel.Clients.ActiveDirectory。此方法仅适用于您在Azure AD上注册的本机客户端应用程序,因为它不提供凭据。如果您希望它适用于Web应用程序/ Web API,您可以直接发出HTTP请求,如下所示:
POST: https://login.microsoftonline.com/xxxxx.onmicrosoft.com/oauth2/token
Content-Type: application/x-www-form-urlencoded
resource={resource}&client_id={clientId}&grant_type=password&username={userName}&password={password}&scope=openid&client_secret={clientSecret}