- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个在 Multi-Tenancy 场景中使用的 native 应用程序。为了对用户进行身份验证——并征得他们同意允许此应用程序代表他们访问 Azure——我只需实例化一个 AuthenticationContext 并调用 AcquireTokenAsync。但是我不知道这是否默认使用 AdminConsent?如果不是,我该如何实现?
下面是我使用的示例代码:
AuthenticationContext commonAuthContext = new AuthenticationContext("https://login.microsoftonline.com/common");
AuthenticationResult result = await commonAuthContext.AcquireTokenAsync(resource,
clientId, replyUrl,
new PlatformParameters(PromptBehavior.Always));
最佳答案
不,这不会自动调用管理员同意(即使管理员同意,他们只是为自己同意,而不是为整个租户同意)。
要调用管理员同意,您必须将 prompt=admin_consent
添加到身份验证请求中:
AuthenticationResult result = await commonAuthContext.AcquireTokenAsync(
resource,
clientId,
replyUrl,
new PlatformParameters(PromptBehavior.Auto), // <-- Important: use PromptBehavior.Auto
UserIdentifier.AnyUser,
"prompt=admin_consent"); // <-- This is the magic
当然,您不应该让所有用户都使用此登录,因为如果用户不是管理员,它将失败。
请参阅“在运行时触发 Azure AD 许可框架”:https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#triggering-the-azure-ad-consent-framework-at-runtime
关于c# - 如何使用 AuthenticationContext.AcquireTokenAsync 强制 AdminConsent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39254758/
我创建了一个获取 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] 进行身份验证属性在他们所有的类上。为了能够在它们之间进行服务
我是一名优秀的程序员,十分优秀!