问题标签 [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 投票
2 回答
3552 浏览

adal - ADAL JavaScript 支持本地 ADFS (ADAL JS)

如何配置 ADAL JS 以使用本地 Active Directory(Windows Server 2012 R2、ADFS)?GitHub 上的公告帖子 ( http://www.cloudidentity.com/blog/2014/10/28/adal-javascript-and-angularjs-deep-dive/ ) 和示例 ( https://github.com/AzureADSamples )不具体解决这个问题。或者这不是受支持的场景?

0 投票
2 回答
1309 浏览

c# - ADAL JavaScript:添加附加声明 (ADAL JS)

我针对我的 Azure AD 运行了来自 Github 的 ADAL JS 示例 SPA 项目。

这很好用,但我想在身份验证后向令牌添加声明。

在 SPA 示例中,您添加中间件,如下所示:

从这里开始,您是否必须添加额外的 OAuth 中间件才能访问诸如通知之类的内容才能访问 ClaimsIdentity 和 AddClaim?

0 投票
2 回答
3357 浏览

owin - Azure ADAL 刷新 id_token

我们正在开发一个多租户 Web 应用程序。我们的租户将使用 Windows Azure Active Directory 进行身份验证。我们正在使用 OWIN OpenIdConnect 中间件对用户进行身份验证。我们在认证过程后收到的响应有 id_token 和授权码。

我们还想获取刷新令牌,以便在 id_token 过期后获取新令牌。因此,在 AuthorizationCodeReceived 处理程序中,我们使用 ADAL 库中的 AcquireTokenByAuthorizationCode 方法来获取刷新令牌。响应包含 id_token、access_token 和 refresh_token。

然后我们随后使用 referh_token 来获取新的 id_token,但是响应只包含更新的 access_token 而不是更新的 id_token。是否可以刷新 id_token 或者我们只能刷新 access_token?授权码接收处理程序的代码如下所示。

0 投票
3 回答
3769 浏览

security - 如何调试/跟踪 ADAL 身份验证?

我正在尝试 Microsoft 在此处发布的 Azure Active Directory 示例之一:https ://github.com/AzureADSamples/WebApp-WebAPI-OpenIDConnect-DotNet

我设法搞砸了 TodoListService 的 web.config 中的受众值,并在调用服务时得到了 401 Unauthorized 响应。

问题是,我花了太长时间才弄清楚出了什么问题。在调试器中运行它并没有在输出窗口中产生任何有用的跟踪语句。事件查看器中也没有任何事件。

我可以打开任何配置来帮助我更快地找到它吗?是否有可用于调试的具有日志记录或诊断功能的中间件?

我想我可以从GitHub获取源代码并尝试调试问题,但这并不方便。有什么我想念的吗?

0 投票
1 回答
291 浏览

.net - 需要 FIPS 时 ADAL 失败

我们的团队在启用了 FIPS 的服务器中发现使用 ADAL 2.12 的问题\需要。这是抛出的异常:

System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.InvalidOperationException:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。在 System.Security.Cryptography.SHA256Managed..ctor() --- 内部异常堆栈跟踪结束--- 在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.RunAsyncTask[T](Task`1 task) 在 Microsoft.IdentityModel .Clients.ActiveDirectory.AuthenticationContext.AcquireToken(字符串资源,ClientCredential clientCredential)

我还在调试器中捕获了原始异常,并找到了更详细的堆栈跟踪:

mscorlib.dll!System.Security.Cryptography.SHA256Managed.SHA256Managed() + 0xcf 字节
[本机到托管转换]
mscorlib.dll!System.Security.Cryptography.CryptoConfig.CreateFromName(string name, object[] args) + 0x46b 字节 mscorlib .dll!System.Security.Cryptography.SHA256.Create(string hashName) + 0xb bytes
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.PlatformSpecificHelper.CreateSha256Hash(string input) + 0x41 bytes
Microsoft.IdentityModel .Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.LogReturnedToken(Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationResult 结果) + 0x91 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.PostRunAsync(Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationResult 结果) + 0x32 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel。 Clients.ActiveDirectory.AcquireTokenHandlerBase.RunAsync.MoveNext() + 0xdf6 字节
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start(ref Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.RunAsync stateMachine) + 0x161 字节
Microsoft.IdentityModel.Clients .ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.RunAsync() + 0x13a 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireTokenForClientCommonAsync.MoveNext() + 0x130 字节 mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start(参考 Microsoft.IdentityModel.Clients.ActiveDirectory .AuthenticationContext.AcquireTokenForClientCommonAsync stateMachine) + 0x171 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireTokenForClientCommonAsync(字符串资源,Microsoft.IdentityModel.Clients.ActiveDirectory.ClientKey clientKey,bool callSync) + 0x17e字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireToken(字符串资源,Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential clientCredential)+ 0x7d 字节

有没有办法解决这个问题?通过反射器查看代码,似乎需要更新 ADAL 库本身来解决此问题。

0 投票
1 回答
4238 浏览

adal - ADAL 和 OAuth 断言流程

AAD 是否支持 oauth 断言流程(rfc 6749 扩展授权)?找不到任何示例,所以我假设这不是在 ADAL 中实现的,也不是 AAD 支持的.....但是还是?

欢呼艾伦

0 投票
0 回答
353 浏览

azure - 暂停多重身份验证时 Azure AD 安全 Web 应用程序中的登录错误

我们使用 OpenId Connect 协议和 OWIN 中间件在我们的 ASP.NET Web 应用程序中实现了多租户单点登录场景。我们遵循了官方的示例项目,例如: https ://github.com/AzureADSamples/WebApp-WebAPI-MultiTenant-OpenIdConnect-DotNet

通过这样做,Office 365 用户(或一般的 Azure AD 用户)可以登录到我们的 Web 应用程序,这通常可以正常工作。

现在,我们遇到了 Azure AD Premium 的多重身份验证 (MFA) 功能和“不要再询问 x 天”选项的问题。在启用 MFA 和“不询问”选项的情况下首次登录我们的 Web 应用程序时,身份验证过程成功。关闭并重新打开浏览器后,登录过程不再起作用。详细复现步骤:

  1. 确保浏览器缓存已被清除。
  2. 打开浏览器并转到 Web 应用程序。
  3. 当被重定向到 Azure AD 登录页面 (login.microsoftonline.com) 时,使用您的 Azure AD/O365 帐户凭据登录并选中选项以存储登录信息以在关闭浏览器后仍然进行身份验证。
  4. 输入将发送到您的移动设备(或其他设备)的 MFA 验证码,并选中“不要再询问 x 天”选项。
  5. 您将作为经过身份验证的用户重定向到 Web 应用程序。
  6. 现在关闭并重新打开浏览器。
  7. 再次转到 Web 应用程序。
  8. 当被重定向到 Azure AD 登录页面时,您无法继续。您的帐户凭据已存储,但您无法继续。当一次又一次地点击登录按钮时,什么也没有发生。

以下页面显示,MFA 功能仍处于公共预览阶段,因此该功能可能仍存在错误: http ://technet.microsoft.com/en-us/library/dn270518.aspx#user_suspend_mfa

我们已经尝试使用 WS-Federation 中间件而不是 OpenId Connect,但问题仍然存在,所以我认为这不是与协议相关的问题。

我现在正试图联系负责的工程师团队报告这个错误。我们非常感谢让我们的用户能够使用 MFA 登录我们的网络应用程序。

谢谢你的帮助。

此致,

达斯汀

0 投票
1 回答
131 浏览

ios - 使用适用于 iOS 的 Office 365 SDK 读取文件

我正在尝试使用Office 365 SDK for iOS 使用他们的示例演示读取文件,我能够获取文件列表。

现在我被困在我想读取文件内容的地方,下面给出的是正在使用的代码

我能够获取所选文件的 contentURL,但我被困在接下来需要做什么来提取文件文本。我遍历了文档但失败了。

请帮我解决这个问题。

谢谢

0 投票
1 回答
500 浏览

adal - 如何以编程方式关闭 ADAuthentication Web 视图控制器?

在以可编程方式从 ADAL 关闭 webveiwcontroller 后,我遇到了以下问题,下次我重新启动登录流程时,出现以下错误:

如果我完全关闭应用程序并重新打开它,登录流程将再次起作用。这是一个已知问题吗?有什么办法可以解决这个问题?

谢谢

0 投票
2 回答
1004 浏览

adal - 使用机构和 Microsoft 帐户进行 Azure AD 身份验证

我有一个需要身份验证/授权的带有 WebApi 服务的自定义 MVC WebApplication。我按照 GitHub WebApp-WebAPI-OpenIDConnect-DotNet上的示例进行操作。在开发过程中,我在我的个人 Azure 订阅上创建了一个新的测试目录,一切正常。我可以添加机构帐户(如 jon@mytenantname.onmicrosoft.com)和现有的 Microsoft 帐户(jon@hotmail.com)并将它们分配给不同的组。当用户在登录页面上输入 liveID 电子邮件地址并将光标移动到密码文本框时,他会被重定向到 Microsoft 帐户登录页面。

现在我将应用程序发布到我们的生产 Web 服务器,并希望将应用程序连接到同步的 Azure Active Directory。它适用于所有机构(工作)帐户。但是,当我添加 Microsoft 帐户并尝试使用这些凭据登录时,重定向不再起作用。登录页面显示为红色:

我们无法识别此用户 ID 或密码 请确保您键入了您的组织分配给您的用户 ID。它通常看起来像someone@example.com 或someone@example.onmicrosoft.com。并检查以确保您输入了正确的密码。

我错过了什么?是否可以在一个目录中同时使用同步的机构和个人 Microsoft 帐户?