- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用下面提到的代码在 Web 应用程序中从 AzureAD 获取所有 office365 用户的列表。但是, authContext.AcquireTokenAsync(resrouce, clientCredential) 永远不会返回控制权。我已经尝试了下面的控制台应用程序代码,它工作得很好。但是,我很好奇为什么该代码不适用于网络,或者我必须进行哪些修改才能使代码在网络上工作。
public static async Task<string> AcquireMyToken()
{
string clientId = "";
string secrect = "";
string resrouce = "https://graph.microsoft.com";
string authority = "https://login.microsoftonline.com/tenanId";
AuthenticationContext authContext = new AuthenticationContext(authority);
ClientCredential clientCredential = new ClientCredential(clientId, secrect);
AuthenticationResult authResult = await authContext.AcquireTokenAsync(resrouce, clientCredential);
return authResult.AccessToken;
}
public static async void ListFiles(string accessToken)
{
var graphClient = new GraphServiceClient(new DelegateAuthenticationProvider(
(requestMessage) =>
{
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
return Task.FromResult(0);
}));
var users = await graphClient.Users.Request().GetAsync();
}
最佳答案
关于这个问题,您需要在Controller和html中指定您的代码。有一个示例如下。
public async Task<ActionResult> Test()
{
string clientId = "";
string secrect = "";
string resrouce = "https://graph.microsoft.com";
string authority = "https://login.microsoftonline.com/tenanId";
AuthenticationContext authContext = new AuthenticationContext(authority);
ClientCredential clientCredential = new ClientCredential(clientId, secrect);
AuthenticationResult authResult = await authContext.AcquireTokenAsync(resrouce, clientCredential);
var token = authResult.AccessToken;
var graphServiceClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) => {
requestMessage
.Headers
.Authorization = new AuthenticationHeaderValue("bearer", token);
return Task.FromResult(0);
}));
// var events = await graphServiceClient.Me.Events.Request().GetAsync();
var users = await graphServiceClient.Users.Request().GetAsync();
IList<User> userlist = users.CurrentPage;
return View(userlist);
}
HTML:
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Sign-In with Microsoft Sample</title>
<link href="@Url.Content("~/Content/bootstrap.min.css")" rel="stylesheet" type="text/css" />
</head>
<body style="padding:50px">
<!--show the message your need-->
<table class="table">
<thead>
<tr>
<th scope="col">userPrincipalName</th>
<th scope="col">Mail</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.UserPrincipalName</td>
<td>@item.Mail</td>
</tr>
}
</tbody>
</table>
</body>
</html>
更多详情请引用https://github.com/microsoftgraph/msgraph-training-aspnetmvcapp .
关于azure - AcquireTokenAsync 函数不返回任何响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54992034/
我创建了一个获取 Azure token 的控制台应用程序,并且我可以毫无问题地与 Graph API 进行通信。当我在 Windows 或 Web 应用程序中使用相同的逻辑时,AcquireToke
我正在尝试使用下面提到的代码在 Web 应用程序中从 AzureAD 获取所有 office365 用户的列表。但是, authContext.AcquireTokenAsync(resrouce,
我正在尝试使用以下重载:authContext.AcquireTokenAsync(, ) 这适用于简单的控制台应用程序,并且我能够检索 token 。但是当我从 Web 应用程序运行它时,调用不会返
我正在使用 ADAL (Microsoft.IdentityModel.Clients.ActiveDirectory v4.3.0) AuthenticationContext.AcquireTok
我正在尝试使用以下重载:authContext.AcquireTokenAsync(, ) 这适用于简单的控制台应用程序,并且我能够检索 token 。但是当我从 Web 应用程序运行它时,调用不会返
我正在使用 ADAL (Microsoft.IdentityModel.Clients.ActiveDirectory v4.3.0) AuthenticationContext.AcquireTok
我希望能够以编程方式从 Azure 获取 token 。 我调用 GetAToken().Wait(); 但失败了。 方法是: public async Task GetAToken() {
我们正在编写一个必须与 Dynamics CRM 2016 Online 集成的 WCF 服务。我正在尝试使用 ADAL 进行身份验证,方法是 AcquireTokenAsync()。问题是,它会显示
我正在尝试从基于站点的 WebService 调用 Azure 托管 WebAPI。基于站点的服务是 adal-angluar SPA,然后必须调用 Azure 中托管的 REST API。来自 AA
我正在使用Active Directory Authentication Library (ADAL) library for Apache Cordova在 Ionic 移动应用程序上。我在调用 a
首先,我不确定这是否重要,但由于@Simon Mourier 在 him answer 中提到的原因,我正在使用 ADAL 的实验版本, this one . 在下面的代码中,我想同步获取一个Auth
在 Azure AD 中,当我们进行诸如 AuthenticationContext.AcquireTokenAsync(resource, new ClientAssertionCertificat
我正在 Xamarin 上开发一个应用程序。我正在尝试跨多个应用程序实现单点登录。为此,我使用 ADAL 首次通过 Azure AD 对用户进行身份验证,然后用户在 AcquireTokenAsync
我正在 Xamarin 上开发一个应用程序。我正在尝试跨多个应用程序实现单点登录。为此,我使用 ADAL 首次通过 Azure AD 对用户进行身份验证,然后用户在 AcquireTokenAsync
我使用 AcquireTokenAsync 通过 Azure Active Directory 进行身份验证。 下面是代码 var uc = new UserCredential(username,
我有一个在 Multi-Tenancy 场景中使用的 native 应用程序。为了对用户进行身份验证——并征得他们同意允许此应用程序代表他们访问 Azure——我只需实例化一个 Authenticat
我要求使用 Azure AD 通过 OAuth 2.0 对我的 clinet 应用程序进行身份验证。 我们开始使用 Microsoft.IdentityModel.Clients.ActiveDire
TL;DR 使用 AuthenticationContext.AcquireTokenAsync() 和 MobileServiceClient.LoginAsync() 对用户进行身份验证有什么区别
我按照 Microsoft Hello Key Vault 中的示例在 ASP.Net MVC Web 应用程序上设置了 Azure Keyvault示例应用程序。 默认情况下,Azure KeyVa
问题陈述 我正在使用 .NET Core,并且正在尝试使 Web 应用程序与 Web API 通信。两者都需要使用 [Authorize] 进行身份验证属性在他们所有的类上。为了能够在它们之间进行服务
我是一名优秀的程序员,十分优秀!