问题标签 [sts-securitytokenservice]

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 回答
327 浏览

wcf - svcutil 忽略 WS-Trust 声明

场景:我正在编写一个 WCF 客户端来访问 Java/Metro Web 服务,该服务需要通过从 STS(也是 Java/Metro)获得的令牌进行身份验证。服务的 WSDL 中的相关策略片段如下:

请注意WS-SecurityPolicy 1.2 中定义的外部部分(这与之前放置 的版本不同<Claims>)。<RequestSecurityTokenTemplate><Claims>

当这样放置时,完全svcutil忽略<Claims>。但是,当放置在 RST 模板中时,它们会被复制到生成的配置中:

WCF 声称(没有双关语)支持 WS-SecurityPolicy 1.2,所以我想知道——这是设计上的错误吗?恕我直言,策略中的声明应始终出现在<additionalRequestParameters>绑定配置中。

0 投票
2 回答
18759 浏览

wcf - WIF STS ID3242:无法对安全令牌进行身份验证或授权

当我的客户端应用程序尝试对我的服务进行身份验证时,我收到以下错误:

ID3242:无法对安全令牌进行身份验证或授权

下面是客户端的配置:

这是服务的配置

如果有人知道如何确定身份验证失败的原因,请告诉我。我有详细的日内瓦 STS 跟踪,但它没有给我任何关于为什么证书没有经过身份验证的消息。

0 投票
2 回答
1149 浏览

wcf - 在 Windows Identity Foundation 中禁用加密

我可以禁用请求安全令牌响应的加密并且只管理签名吗?

我正在根据 WIF SDK 的演示创建一个扩展 Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService 的自定义 STS,但我无法设法设置不使用加密。

0 投票
1 回答
2089 浏览

sharepoint-2010 - 如果 Sharepoint 2010 有 STS,为什么会出现消息“没有受信任的身份提供者”

当您在 Sharepoint 2010 中创建新的 Web 应用程序并为“身份验证”选项选择“基于声明的身份验证”时,“受信任的身份提供者”框显示为灰色。

有一些博客等关于如何添加自定义 STS 或 ADFS 之类的东西,但内置的 Sharepoint STS 不是身份提供者吗?

Sharepoint STS 在 Web 应用程序中起什么作用?它是不同类型的 STS 吗?

在与 STS 具有信任关系的普通 Windows Identity Foundation (WIF) 应用程序中,您会看到 STS 提供的登录屏幕。

在 Sharepoint 2020 中,您没有任何登录屏幕?

启用 Sharepoint 声明的应用程序是否不同于启用 WIF 声明的应用程序?

0 投票
1 回答
287 浏览

authorization - 为“新”用户提供多个受信任的 STS

将 Windows Identity Foundation (WIF) 与多个安全令牌服务 (STS) 一起使用时,是否可以在用户首次访问应用程序之前对其进行预配?

例如,假设我有一个名为 BufferOverrun 的网站,用户可以在其中登录并提出/回答问题,并且我想支持使用外部 Google 帐户进行身份验证。当用户第一次访问该页面时,他们必须使用他们的 Google 帐户进行身份验证,然后他们才能访问 Web 应用程序。在这种情况下,有两个 STS,Google(用于身份验证)和一个自定义的用于我的应用程序(用于授权)。

如何在用户访问系统之前将声明分配给用户?

由于该身份在我的应用程序外部拥有,因此我无法将声明直接分配给该身份(而且我也不想这样做,因为它们将是特定于应用程序的)。但是由于用户没有访问系统,我没有内部身份来分配声明。我看到两种可能的解决方案:

  1. 等待用户访问系统(创建一些默认的特定于应用程序的声明),然后使用一些内部配置工具根据需要修改这些声明。
  2. 让供应工具允许用户在通过手动键入身份进行身份验证之前手动映射默认身份声明(例如电子邮件地址),以便在首次访问时,如果身份断言该声明,则授予一组特定的应用程序声明.

我看到 1 和 2 都有一些问题。对于 1,所有用户都对系统有一些隐式访问,即使默认应用程序声明不允许任何功能。这似乎对于像 stackoverflow 这样的初始帐户具有特定权限集的东西非常有效,并且当用户使用系统时,会授予新的声明。然而,这可能不是所有应用程序都希望的。2 容易出错,因为它需要管理员手动指定声明。

在上述两种情况下,如何配置有权实际使用配置工具的身份(即管理员帐户)?

为此,我设想在应用程序安装期间,我需要用户进行身份验证并将该身份的应用程序声明设置为具有“管理”权限。这是一个很好的实现吗?

从历史上看(我现在指的是现有应用程序),该应用程序仅专门与 Active Directory 交互。处理方式是有一个内置的管理员帐户(不隶属于 AD),允许管理员用户首先登录。在使用管理应用程序进行身份验证后,该用户可以在 AD 中搜索用户/组并单独配置它们。管理员未配置的任何用户/组根本无法访问系统。我认为这种范式不适用于使用像 Google 等外部 STS,因此我试图构想一种能够启用外部 STS 系统的架构。希望保留搜索 STS 的能力,但不是必需的。实际上,所涉及的两个 STS 很可能都是使用联合服务的 Active Directory。

注意:这类似于这个问题这个问题

0 投票
1 回答
591 浏览

asp.net - 旧版登录的基于 WIF 声明的身份

我有几个带有自定义成员资格提供程序的旧版 ASP.NET 应用程序。他们还使用了我们为其编写了自定义客户端的基于 SAML 的外部身份提供程序。我被 WIF 和 ADFS 的价值所推销。SAML 身份提供者将与 ADFS 一起使用,但我们需要支持旧的成员资格系统。

我是否需要创建自定义 STS 来处理旧版身份验证?如果是这样,许多开发人员出于各种原因建议不要这样做。是否有模板或框架可以帮助我使其安全和可扩展?我见过 SelfSTS 和 StarterSTS,但它们都暗示它们不适用于生产用途。

如果没有,有哪些选择?

0 投票
2 回答
17588 浏览

wcf - 使用安全令牌服务时的身份验证

我创建了一个安全令牌服务 (STS)、一个引用 STS 的服务和一个示例桌面应用程序。

这在使用 Windows 身份验证和消息安全时按预期工作,从 STS 检索令牌并成功调用服务方法。该服务返回一个包含当前用户身份的字符串,该身份返回我的 AD 用户名。

但是,我需要针对数据库而不是 AD 进行身份验证。我尝试创建一个 CustomUserNameValidator(在 STS 中,这是正确的位置吗?)并在 web.config 中引用它。然后我提供如下所示的凭据。

SampleServiceReference.SampleServiceClient client = new SampleServiceReference.SampleServiceClient(); client.ClientCredentials.UserName.UserName = "alex"; client.ClientCredentials.UserName.Password = "pass";

我相信证书设置正确(全部使用'localhost'),但是在调用服务时收到以下异常:

System.ServiceModel.FaultException:ID3242:无法对安全令牌进行身份验证或授权。

无论我尝试什么似乎都失败了。我所描述的甚至可能吗?服务客户端是否也将客户端凭据传递给 STS,还是我完全误解了这里发生的事情?

这个stackoverflow问题很相似,但是我检查了观众的URL,看起来还可以。WIF STS ID3242

有没有人对我在使用 STS 时如何实现自定义身份验证有任何建议?

0 投票
1 回答
1421 浏览

single-sign-on - FederatedPassiveSignInStatus 控件未正确重定向到 STS。请帮忙

我正在使用:

当用户登录控件时,会显示一个链接“注销”。当他们点击链接时,它会将他们重定向到:

这会导致我的 STS 提供程序出现意外行为,这不是我希望发生的。我在想我配置错误的东西会发生这种情况。因此,不要单击 FederatedPassiveSignInStatus 控件...如果我只是将此 url 粘贴到我的浏览器中:

然后一切正常!

所以,我的问题是..我怎样才能让这个该死的控制正常工作?我在 Internet/Programming WIF book/Identity training Kit(4 月版)上找不到有关此控件或如何正确使用它的任何文档。

去微软的路。

请帮助这个沮丧的程序员。

谢谢

0 投票
1 回答
421 浏览

wif - 联合身份验证无 cookie STS

我看到联合身份在第一次向 STS(安全令牌服务)请求之后将安全令牌存储到 cookie 中。在这种情况下,如果我在浏览器中禁用 cookie,它是如何工作的?

我已经看到它没有重定向到我的 STS 问题应用程序,我该如何克服这种情况?

0 投票
1 回答
1819 浏览

azure - 自定义 STS 的联合 Metadata.xml

我正在尝试将自定义 STS 实现为要部署到 Azure 的 WebRole。我遇到的问题是如何为我的自定义 STS 生成或编写 Federation Metadata.xml 文件。如果我自己写,我可以获得自定义参考 ID,我如何签名?另外,因为我的 STS 是一个 Azure 应用程序,所以当我在 Azure 模拟器中运行它时,它有一个类似http://127.0.0.1:81/的 URL ,所以我会使用它作为 Federation Metadata.xml 文件中的链接,但之后当我将 STS 作为生产部署发布到 Azure 时,它​​会有一个类似http://cloudSts.cloudapp.net的 URL所以我必须在我的联邦 Metadata.xml 文件中反映这些更改,这里的问题是,在进行这些更改之后,我应该再次升级/发布包,然后将其移至生产环境,否则我可以简单地上传更改后的联邦元数据。 xml 文件到 ACS 上(我将自定义 STS 作为 IP),它会工作吗?

谢谢