问题标签 [thinktecture]

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

asp.net-mvc - 在 api 服务调用 thinktecture v3 验证令牌的目的是什么?

我正在使用 thinktecture 身份服务器 v3。我创建了 Web 应用程序和 Web api 服务。当我访问 Web 应用程序时,我从身份服务器获得了访问令牌。我使用这个令牌作为不记名令牌与 web api 进行通信。一切正常。

但我注意到,在 api 服务器上,对于每个带有访问令牌的请求,它都会自动调用身份服务器。如果身份服务器已启动,则它会提供服务,否则会给出未经授权的错误。

  1. 这个电话的目的是什么?
  2. 通话中携带什么数据?
  3. 如果是为了验证权限,会给身份服务器带来更大的负担。
  4. 可以跳过这个电话吗?
0 投票
1 回答
990 浏览

authentication - 具有外部用户管理的 IdentityServer3

假设 Web 托管的 IdentityServer3仅处理授权的场景,即由外部自定义服务处理的用户身份验证,需要实现什么来支持这一点?自定义 OWIN 中间件?

0 投票
1 回答
1383 浏览

authentication - 替代IdentityServer3登录系统

在我上一个问题中的@leastprivilege 回答之后,我得出结论,这两种解决方案都不是可能的:

  • 登录服务不支持 REST 身份验证(因此,无法使用IUserService.AuthenticateLocalAsync并仅连接到它)
  • 我不需要它是一个额外的提供者,我需要它来替代 IS3 之一,即,我需要 /login 页面是来自不同服务的页面,而不是显示本地登录 + 额外的提供者。

这可以定制还是我需要更改 IdentityService3 源?如果是这样,为了实现身份验证而不破坏授权,我需要确保明智地执行什么?

更新

按照这个答案,解决方案可能是创建一个新的提供程序并使用在某处设置自动重定向acr_values

0 投票
1 回答
235 浏览

thinktecture - 无法使用 Thinktecture IdMgr + MembershipReboot 更新用户电子邮件地址或密码。

当我在 Thinktecture IdManager 中编辑用户时,我可以更改他们的姓名、年龄和其他“自定义”属性,但是当我尝试更改他们的电子邮件地址或密码时,我的自定义 Membership Reboot 存储库更新方法被调用一次以保存更改,然后再次调用还原更改。

由于某种原因,控制器被 AutoFac 容器中间件调用了两次。

IdMgr 应用程序只有 1 个 HTTP 帖子,因此这不是客户端问题。

第一个堆栈跟踪是...

第二个堆栈跟踪是...

0 投票
1 回答
813 浏览

security - ADFS + ThinkTecture IdentityServer v2 for Web API's

在我们的组织内,我们的应用程序作为 RP 注册到我们的组织 ADFS 服务器,即 v2。传统上,组织中的应用程序是使用 WS-Federation(被动身份验证)构建为单一的单体应用程序。Web API 也托管在每个应用程序中,仅通过在浏览器中从应用程序的客户端代码进行 ajax 调用时通过网络发送相同的 FedAuth cookie 来确保安全。

我们正朝着构建一组后端 Web API 的方向发展,我们希望对其进行保护,以便任何客户端都可以调用它们,而不仅仅是 Web 浏览器,而不仅仅是托管应用程序本身。因此,我们希望将 JWT 令牌用于这些 Web API。我们还开始使用 ThinkTecture 的 IdentityServer (v2) 在这方面提供帮助。

我们只有几个问题,我希望社区可以帮助我们提供一些答案/建议:

  1. 我们应该如何配置 IdentityServer 和应用程序,以便应用程序使用现有的组织 ADFS 登录页面?
  2. 我们如何配置/集成 ThinkTecture IdentityServer v2 与组织 ADFS,以便我们的 API 可以使用 JWT 令牌得到保护,但又不强制用户再次提供他们的凭据(一旦他们通过 WS-Federation 获得 SAML 令牌)?
  3. IdentityServer v3 中是否有足够引人注目的功能可以从 IdentityServer v2 升级到 v3?
0 投票
0 回答
109 浏览

.net-4.5 - 如何在 WIF STS 中使用 SHA256 签署安全令牌?

我正在使用 Thinktecture STS 并想使用 SHA256 而不是 SHA1 对已发行的令牌进行签名?我尝试使用以下方法将算法添加到应用程序:

但它开始给出错误:

指定的算法无效

知道我使用的证书与 SHA256 兼容。任何想法?

0 投票
1 回答
707 浏览

php - PHP 中的 OpenID 访问令牌验证

我试图在 PHP 中对 thinktecture OpenId 连接进行 SSO 验证我已经编写了一个客户端并获得了一个访问令牌。但我不知道如何验证它。

文档说:3.2.2.9。访问令牌验证

要使用 ID 令牌验证从授权端点发出的访问令牌,客户端应该执行以下操作:

  1. 使用 JWA [JWA] 中为 ID 令牌的 JOSE 标头的 alg 标头参数指定的散列算法对 access_token 的 ASCII 表示的八位字节进行散列。例如,如果 alg 是 RS256,则使用的哈希算法是 SHA-256。

  2. 取散列的最左半部分并用 base64url 对其进行编码。

  3. ID 令牌中的 at_hash 值必须与上一步中生成的值匹配。

我不知道如何进行第 1 步。我将 ALg 设为 RS256,并且我从 Id 令牌中获得了 at_hash,我只是无法在 PHP 中找到有关如何进行验证的示例。

0 投票
2 回答
624 浏览

asp.net - 带有 VNext 的 IdentityManager

有没有人尝试过将 IdentityManager 与 vNext 一起使用?

我在使用app.UseIdentityManager(IdentityManagerOptions)扩展方法时遇到问题。

它不存在。

所以我尝试通过将所有与服务器相关的方面更改为管理器来使用为UseIdentityServer(在此处找到)制作的扩展方法。当我这样做时,我得到了System.NullReferenceException第 43 行。

任何关于如何使用扩展方法的建议都将不胜感激

0 投票
1 回答
327 浏览

asp.net-mvc - 对于隐式流来说,令牌变得太大 - Thinktecture IdentityServer3

我一直在研究IdentityServer3,我观察到我的Access Token(和身份令牌)在 的情况下变得太大(最多3000+字符)Implicit flow,而同一服务器正在针对资源所有者流返回大约 20-30 个字符的访问令牌。这个问题是特定于 Flows 的还是我做错了什么......???

我在视觉工作室解决方案中拥有的是

  • 单独/独立的 IdentityServer 服务器项目
  • Mvc 应用程序项目(使用隐式流)
  • 控制台应用程序(使用资源所有者流程)
  • Web api 项目(从请求标头中的 mvc 应用程序或控制台应用程序获取访问令牌)

一旦我登录到 mvc 应用程序,它会获得一个相当大的访问令牌(和身份令牌),但在控制台应用程序的情况下,它只会返回一个漂亮而紧凑的令牌。为什么这里有区别……???

0 投票
3 回答
1034 浏览

asp.net-mvc - 在 asp.net mvc 的正文中验证 SAML2 (P?) 令牌

我有一个 ASP.NET MVC 应用程序,它目前允许用户通过两个 ThinkTecture IDP 服务器进行连接。MVC 应用程序信任这两个 IDP 服务器,它完美地验证了用户。

当前设置使用web.config 部分中的< System.IdentityModel.Services.WSFederationAuthenticationModule >和来处理这些。 < System.IdentityModel.Services.SessionAuthenticationModule >< modules >

我们现在有一个新方想要通过向我们发送 SAML v2 令牌来验证他们的用户,但 MVC 应用程序似乎无法识别它。

我比较了来自 IDP 服务器 (SAML1) 和新登录服务器 (SAML2) 的 POST 响应,并且存在一些细微的差异,这可能会导致问题。

IDP 服务器似乎使用< trust:RequestedSecurityToken >属性来包装到< saml:Assertion >. 而新客户端发送的 POST 请求正文包含< saml >< samlp:Response >

我的问题是:

1) 这个新< samlp:Response >的 SAML2P 版本是否不受 Microsoft WIF 支持?或者它只是对< saml:Assertion >元素感兴趣?

2) WIF 将在哪里寻找 SAML 令牌?发布身体?身份验证头(承载)?

3)目前,当用户未通过身份验证时,它将他们重定向到他们的本地 IDP 服务器,他们登录并返回 SAML 响应,然后被拾取。但是新客户端将简单地传递一个请求以查看带有 SAML 令牌的页面(真正的单点登录)。我想知道这种差异是否会导致问题。我目前手动处理重定向到用户的本地 IDP,因此已尝试为新客户端关闭此功能。

编辑 经过大量挖掘......

  1. Microsoft WIF 不支持 SAML2 协议,而且很可能会支持。

  2. SAML2 协议消息通常作为表单参数 (saml= < saml:Response>< etc... 在 HTTP POST 的正文中。在我的情况下,它没有使用 (saml=) 的标准参数格式,XML只是直接内联在 HTTP POST 正文中。