问题标签 [adfs3.0]
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.
asp.net - Asp Net Web API ADFS 和 WIF 身份验证
是否可以在同一个 Web API 中使用两种不同的身份验证“路径”,即一个使用 Active Directory 联合身份验证服务 (ADFS) 进行身份验证,一个使用身份框架进行身份验证?
是否像执行以下操作一样简单?
certificate - ADFS 导出默认令牌签名证书私钥
如何导出安装 ADFS 3.0 时创建的令牌签名证书?当我打开证书 MMC 时,我可以看到证书,但是缺少消息“您有与此证书对应的私钥”,并且我无法导出私钥。我在ADFS 深入研究:证书规划一文中读到,我可以在 Active Directory 的以下容器中找到它:
CN=ADFS,CN=Microsoft,CN=Program Data,DC=domain,DC=com
但是,尽管我可以访问该容器,但我看到的只是内部的 GUID,并且不知道如何将私钥导出到 Active Directory 之外。
我怎样才能得到私钥?
******************************************** 编辑 ***** ******************************************
万一以后有人遇到此问题,证书实际上位于 ADFS 服务帐户的个人证书存储中,但它们不可导出。您几乎肯定想要 SSL 证书私钥而不是令牌签名证书私钥。文档
我为 SharePoint 设置 ADFS 有点令人困惑。必须为 SSL 证书导出私钥,但是必须将令牌签名证书的指纹放置在 Web 配置中。我错误地尝试导出令牌签名证书的私钥。
******************************************** 编辑 ***** ******************************************
single-sign-on - 从 WPF 客户端中的 ADAL 到 Windows Server 2012 R2 上的 ADFS 3.0 的 SSO
我正在尝试编写一个 WPF 客户端,它使用 ADAL 对 Windows Server 2012 R2 上的 ADFS 进行身份验证。我已经使用“表单身份验证”成功实现了这一点,提示用户输入域用户名和密码。但是,我想利用 SSO 并使用当前登录的域用户对 ADFS 进行身份验证。
不幸的是,我只收到一条错误消息:
“<ADFS 服务器名>”不支持此方法重载
我做了很多搜索,但发现一些信息相互矛盾:
这篇关于 Windows 应用商店应用程序(与 WPF 有什么不同?)的 SO 帖子,其中 Vittorio Bertocci 链接到有关如何实现它的博客: ADAL for Windows Store SSO
这篇 SO 帖子 Vittorio Bertocci 声称静默身份验证仅适用于 Windows Server 2016: Authenticate with ADFS inside Console App silently
是否需要 Windows Server 2016 与 ADAL 一起执行 SSO?还有其他方法吗?
编辑:
升级到 ADAL 的最新 alpha (3.9.302111717-alpha) 后,我收到更详细的错误消息
MSIS9611:授权服务器不支持请求的“grant_type”。授权服务器仅支持“authorization_code”或“refresh_token”作为授权类型。
我正在执行的代码是这样的:
我能够使用 WS-Trust 实现一个可行的解决方案,因此我确信我正在运行的机器具有隐私设置,使应用程序能够找到当前登录的用户。
另外,我的全局身份验证策略设置如下:
javascript - ADFS 3.0 - 扩展功能
我目前正在实施一个包含多因素身份验证的 ADFS 3.0 解决方案。我已按照 TechNet ( https://msdn.microsoft.com/en-GB/Library/dn783423.aspx?f=255&MSPPError=-2147217396 ) 中的步骤设置示例适配器,效果很好。我现在想扩展它并面临一些问题。我已经在 web 和 stackoverflow 上搜索了类似的东西,但找不到任何东西,所以我将它们全部发布在这里。不确定我是否需要将其拆分为不同的问题:
- 我需要扩展适配器,以便部分 html 由外部脚本呈现,即我需要添加一个额外的脚本,以便在呈现 adfs 适配器 html 时加载。根据我的发现,可以修改主题以在 onload.js 中包含额外的 javascript,但我不想走这条路,因为脚本确实需要从外部加载。
我能想到的唯一方法和工作方式是在 html 中注入 javascript,以动态加载脚本,如下所示:
但是由于外部脚本的某些逻辑依赖于窗口的“onload”事件,因此它无法正常工作,因为它加载得太晚了..
这可能吗?
适配器是否可以注入新的响应标头?(我假设不是)
是否有一种标准方法可以向适配器 dll 提供配置文件,以便可以在运行时更改某些值而无需部署新的 dll?如果不是,将上述配置文件写入 adfs 文件夹并从那里读取是否安全?
非常感谢
adfs3.0 - ADFS 3.0 - 错误 - 没有为请求找到强身份验证方法
错误背后的可能原因是什么:
ADFS 已使用全局身份验证方法正确设置,如下所示:
- 外联网:表单身份验证
- 内网:Windows 身份验证
访问以下 url 时出现错误: https://testfs/adfs/ls/IdpInitiatedSignon.aspx
注意:启用多因素身份验证时会发生这种情况。MFA 模块由https://adfsmfa.codeplex.com定制
任何形式的帮助将不胜感激。
authentication - ADFS 客户端 AquireToken 错误
我正在创建一个需要针对 ADFS 进行身份验证的 WebAPI。我是这个实验室,但是当我尝试让客户端连接到它时,我一直遇到问题。我已经在测试服务器上设置了 Web API 并配置了 ADFS 客户端,但是每次我尝试使用客户端连接时,当代码运行时,我都会收到以下错误窗口
每次点击以下代码时都会发生这种情况
我不知道在哪里或是什么导致了这种情况,任何帮助都将不胜感激。
c# - ADFS 和匿名访问路径
我有一个配置为受 ADFS 保护的 Web 应用程序。它工作完美。我现在唯一的问题是我需要一条特定的匿名路径。
例子:
myapp.com/services/api -> 应由 adfs 保护。
myapp.com/services/myPublicPath -> 不应受 adfs 保护。
我不太确定如何实现这一目标。我尝试在 web.config 上使用位置标签,但运气不佳.. 整个网站都由 adfs 保护.. 我不知道如何创建异常。
这是我的 web.config。
提前致谢。
问候,
sharepoint - 是否可以在不登录的情况下解决给定标识符的 ADFS 3.0 声明?
我不得不在生产中调试声明,我不知道用户有哪些声明。这是一个 SharePoint 应用程序。
给定用户名,ADFS/DC/whatever 是否可以向我提供与该用户相关联的声明?如果是这样,怎么做?
- 我可以让 IT 人员在生产中运行某些东西(配置、exe 等)(非常快)
- 我可以重新部署整个应用程序,包括调试代码以提取声明(天)
我过去已经完成了#2。我想知道 ADFS 是否有命令行或菜单可以为我提供该信息。
oauth-2.0 - ADFS 3.0 的 OAuth 注销端点
我不确定如何为 ADFS 3.0 OAuth2 配置注销端点。有人可以指点我这方面的任何信息吗?代码和令牌端点工作正常。塔。
angularjs - 使用配置了 IFD 的 Dynamics CRM 2015 中当前登录的用户,针对外部 MVC 应用程序进行身份验证
我有一个 Dynamics CRM 2015 本地实例,IFD 配置了声明身份验证,按照 Microsoft 的建议,并且工作正常。
在 ASP.NET MVC Web 应用程序中还有一个单独的 Angular 应用程序。我假设的角度部分没有太大关系,但无论如何,让它在这里以获得完整的图片。我还将它配置为与 ADFS 声明身份验证一起使用,重点是要在 CRM 和 Web 应用程序的相同用户上下文中登录并使用应用程序的用户。因此,当用户使用该应用程序时,他正在与他在 CRM 中登录的用户一起使用它。
因此,当我尝试访问应用程序 URL 时,我会被重定向到 adfs 登录名,登录后,我会被重定向到我的应用程序索引页面。这也很好。
在 CRM 中,我有一个功能区按钮,可将所选记录传输到 Web 应用程序,直接到 Web 应用程序 url,例如https://webapp.domain.com:port。所选记录在这里仅作为信息提及,与问题无关。
现在,我的问题是,当我访问 CRM 时,我登录到 ADFS,然后尝试单击按钮打开 Web 应用程序 URL,我再次进入 ADFS 登录屏幕。如果我尝试使用同一个用户登录,我会陷入循环而没有发送任何请求,并且字段不断清除,无法登录。因此用户无法再访问它。它与浏览器无关。
更正:
请求正在发送,登录请求在事件查看器的审核日志中显示为成功,但重定向似乎没有发生。此外,它似乎与浏览器相关,不知道我之前是如何错过它的:
IE: 我得到一个windows登录而不是ADFS登录,输入密码后,我被重定向,然后登录OK。但是,此登录名不应显示。
Chrome: 持续循环,并记录了控制台问题:指定的值“DOMAIN\USERNAME”不是有效的电子邮件地址。
Firefox:字段,不断循环清除。
结束校正
如果我清除缓存,或者先直接登录Web应用程序,那么没有问题,然后从CRM打开URL正常工作。
这个问题原来是相当拖累,因为我不知道如何解决它。有没有人有类似的问题,外部应用程序登录索赔,让我知道我错过了什么?