问题标签 [adal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
607 浏览

android - 身份验证上下文错误意图未解决

我正在尝试针对 Azure Active Directory 验证 android 应用程序以验证用户并最终使用此处的示例代码访问 Office 365 托管的 Sharepoint 列表。但每次我尝试这样做时,我都会得到一个com.microsoft.aad.adal.AuthenticationException:活动未解决。验证清单文件中的活动名称。

是否有一些明显的事情表明我做错了,或者有什么我完全错过了?

这是我的onCreate方法代码

这是日志

03-13 13:08:10.025: E/AuthenticationContext(8980): DEVELOPER_ACTIVITY_IS_NOT_RESOLVED:2015-03-13 12:08:10-99d5c2bb-f33a-4a47-8f16-b111e528617c-意图未解决版本:1.1.1 03- 13 13:08:10.091:W/System.err(8980):com.microsoft.aad.adal.AuthenticationException:活动未解析。验证清单文件中的活动名称 03-13 13:08:10.092: W/System.err(8980): at com.microsoft.aad.adal.AuthenticationContext.localFlow(AuthenticationContext.java:1274) 03-13 13: 08:10.092: W/System.err(8980): 在 com.microsoft.aad.adal.AuthenticationContext.acquireTokenAfterValidation(AuthenticationContext.java:1217) 03-13 13:08:10.092: W/System.err(8980):在 com.microsoft.aad.adal.AuthenticationContext.acquireTokenLocalCall(AuthenticationContext.java:1119) 03-13 13:08:10.092:W/System.err(8980):在 com.microsoft.aad。

0 投票
1 回答
3171 浏览

adal - 获取远程端点的令牌时,ADAL js 在 IE 中不起作用

获取远程端点的令牌时,ADAL.js 在 IE 中不起作用。示例“ https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet ”建议取消注释代码行:“cacheLocation: 'localStorage', // 为 IE 启用此功能,因为 sessionStorage 不适用于 localhost。 " 但显然它没有帮助。在 IE 和 Chrome 中并排运行应用程序。铬工作得很好。IE 将此错误记录到控制台:

错误:login_required 错误描述:AADSTS50058:未提供用户帐户标识符。

同样,仅当 ADAL 尝试获取远程端点的令牌(其他一些 WebAPI - 已注册且工作正常)时,才会出现这种情况。我创建并发布了https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet/issues/3,但也许有人可以在社区中提出一些答案。希望我在这里没有遗漏一些非常明显的东西。

所有这些都是为 localhost 完成的,尽管应用程序(客户端和 webapi)已在 Azure AD 中正确注册(chrome 工作正常)

任何帮助将不胜感激,谢谢

谢谢,

0 投票
1 回答
267 浏览

android - ADAL for Android - 处理错误的正确方法是什么?

在为 Android 使用 ADAL 时,我发现acquireToken() API 错误处理有些令人困惑。

从源代码看来,错误处理似乎应该通过捕获AuthenticationException并检查其ADALError枚举属性来完成。但是,AuthenticationResult类有一个AuthenticationStatus属性,在某些情况下它可能会返回失败(然后我想您应该检查errorCodeerrorDescription属性,但这些属性不符合ADALError枚举)。

此外,似乎(AuthenticationResult.getStatus()==Failed)案例将返回onSuccess () 回调方法,因为onError () 仅返回异常。

有人可以为我清除这个吗?我想知道所有可能的错误路径是什么,以便我可以正确处理所有这些路径。

0 投票
1 回答
1494 浏览

c# - JwtHeader.SigningKeyIdentifier 创建不正确的 X509ThumbprintKeyIdentifierClause

我正在尝试验证 JWT 令牌。该代码位于 OWIN OAuth 处理程序中,但是我已将各个部分放入一个小型控制台应用程序中,这似乎是 JwtHeader 方法 SigningKeyIdentifier 如何创建 X509ThumbprintKeyIdentifierClause 对象的问题。

我的 JWT 的标头值为 x5t = [base64urlencodedvalue],并且我已经确认,当这个字符串被解码时,它确实是我证书的指纹。但是,在 SigningKeyIdentifier 类中,以下代码似乎创建了不正确的子句,例如子句的哈希与证书不匹配。

以下是尝试演示该问题的控制台应用程序片段:

问题似乎是 X509ThumbprintKeyIdentifierClause 的各种构造函数最终得到不同的哈希值,稍后比较时不匹配。

在我的 OWIN 项目中,一件从证书 (TokenValidationParameters.IssuerSigningKey) 创建了 X509ThumbprintKeyIdentifierClause。例如

并调用 IssuerSigningKeyResolver 方法以使用 x5t 字段中的缩略图将 JWT 与问题证书匹配。

但他们不匹配。

我错过了什么?缩略图的编码/解码感觉有问题。

0 投票
0 回答
462 浏览

ios - ADAL iOS:如何从 iOS 获取凭据以供以后在服务器上使用

我正在寻找一种方法让用户使用适用于 iOS 的 Microsoft Azure Active Directory 身份验证库登录(多么好的名字!),但将凭据传递给我的后端服务器,以便我的后端服务器可以向 Office365 API 发出请求定期代表用户。初始认证后,iOS 应用不再需要直接访问 Office365 或其他微软资源;服务器处理与 Microsoft 服务的所有通信。

通过在WebAPI-OnBehalfOf-DotNet示例上痛苦地挖掘 .NET 代码,似乎官方认可的过程是:

  1. 在同一租户下注册 2 个 Active Directory 应用程序,一个用于服务器应用程序,一个用于本机应用程序。在客户端应用程序的“对其他应用程序的权限”配置中添加服务器应用程序。
  2. 在 iOS 上获取用户的访问令牌,然后将其发送到服务器
  3. 然后,服务器可以将本机应用程序访问令牌交换为服务器应用程序访问令牌,并在需要时代表用户发出请求

我对如何做#3很感兴趣。我找不到任何有关如何将本地客户端应用程序的访问令牌交换为 Web 应用程序的访问令牌的文档。我确信.NET 的 Active Directory 身份验证库已经将答案隐藏在其中的某个地方,但我一直无法找到它。有人对这个流程有任何运气吗?

0 投票
1 回答
320 浏览

objective-c - ADALiOS 自定义登录屏幕

我在我的 iOS 应用程序中使用 Azure Office 365 身份验证。一切正常,但是在 ADALiOS 框架中,有什么方法可以使用自定义登录屏幕覆盖 WebView 登录屏幕,然后使用该屏幕中的用户名和密码进行身份验证?

我不介意深入研究框架和定制,只是想知道它是否可能以及是否有更熟悉框架的人可以为我指明正确的方向。

谢谢

0 投票
2 回答
663 浏览

openid - 使用 Owin 在 Web 服务中进行 OpenId Connect 令牌验证

目前,在我的 Web 服务中,我利用 app.UseWindowsAzureActiveDirectoryBearerAuthentication 来验证 AAD 颁发的令牌及其真棒!我想对任何 OpenId Connect 令牌执行类似的操作,但我不确定 UseWindowsAzureActiveDirectoryBearerAuthentication 是否正确,因为它特定于 AAD 并且它没有说明底层协议。似乎只有另外两个选项是 app.UseJwtBeararAuthentication 和 app.UseOAuthBeararAuthentication。我将使用的身份提供者很可能支持发现,因此想法是简单地注册有效的受众、颁发者和发现或元数据 url,并让身份验证中间件处理其余部分(检索签名密钥,缓存它,验证过期,发行者、受众等),就像我对 UseWindowsAzureActiveDirectoryBearerAuthentication 所做的那样。

0 投票
2 回答
406 浏览

node.js - 无法通过 azure graph api 获取完整的登录用户 AAD 详细信息

我使用https://github.com/Wintellect/node-azure-oauth示例代码对 Azure Active Directory 使用 OAuth2 进行身份验证,它工作正常 O365 用户(任何域)。

然后添加https://github.com/fhellwig/azure-graphapi代码调用 azure graph api 使用访问令牌获取用户组数据。但它只显示我的活动目录数据(应用程序注册目录)而不是登录的用户数据。

我更改了多租户和应用程序权限配置选项。但没有成功,我使用我的租户(例如:abcedf@onmicrosoft.com)来调用图形 api。我如何提取已登录用户的详细信息

0 投票
1 回答
405 浏览

asp.net-core - ADAL 3.1.203031538-alpha:在 ASPNET5 和 ASPNET5Core 中调用 AuthenticationContext.AcquireTokenAsync() 时出现问题

我正在尝试使用调用 Azure 服务管理 REST API 的 VS2015 CTP6 在 ASPNET5 Core 中编写一个库。该代码在 .NET45 控制台应用程序中运行良好。

在 ASPNET5Core 控制台应用程序中,代码在 AcquireTokenAsync 调用中静默失败,程序终止。

在 ASPNET5 控制台应用程序中,程序甚至不会生成错误,指出我必须添加对 System.Threading.Tasks 和 System.Runtime 的引用。

您可以在此处找到包含所有三个项目的存储库:

https://github.com/npnelson/ADALSamples.git (请确保您阅读了 repo 上的自述文件以获取更多信息)

这些错误,还是我错过了什么?

0 投票
1 回答
960 浏览

azure - Fetching NameIdentifier from Azure Active Directory AuthenticationResult.AccessToken

I need to get the nameidentifier from the token that Azure AD sends. I am assuming this is unique for each user of the AD and have some custom authorization logic based on it. For example,

This accessToken is sent to the WebAPI as AuthenticationHeader, that decrypts it and fetches the nameidentifier as

But this process on the WebAPI is transparent and is performed by ADAL.However, i need to get the NameIdentifier at client side itself. Is there any way I can fetch the NameIdentifier at client side itself, by decrypting the AccessToken? I do not seem to find the correct answer upon searching.