如何针对Azure Active Directory对用户进行身份验证

时间:2017-08-10 05:49:44

标签: c# azure azure-active-directory

如何在我的控制台应用程序中针对Azure Active Directory对用户进行身份验证,而无需重定向到登录页面?

string tenantName = "---";
string authString = "https://login.microsoftonline.com/" + tenantName;
AuthenticationContext authenticationContext = new AuthenticationContext(authString, false);
// Config for OAuth client credentials  
string clientId = "---";
string key = "---";
ClientCredential clientCred = new ClientCredential(clientId, key);
string resource = "https://pwsintsnapitazure.azurewebsites.net";
string token;
AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(resource, clientCred).Result;
token = authenticationResult.AccessToken;

1 个答案:

答案 0 :(得分:0)

使用您的代码(authenticationContext.AcquireTokenAsync(resource,clientCred))获取令牌正在执行客户端凭据流。通过此流程,应用程序将其客户端凭据提供给OAuth2令牌发布端点,并作为回报获得一个访问令牌,该令牌代表应用程序本身,而无需任何用户信息。

如果您要针对Azure Active Directory对用户进行身份验证而不显示登录页面,则可以使用资源所有者流,请单击herehere以了解如何通过用户名/密码对用户进行身份验证。请注意第一个链接中的Constraints & Limitations部分。