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

asp.net - 使用 Identity Server 3 实现 ASP.Net Web 表单应用程序(可能是 Thinktecture 与否?)

我一直在尝试在我们的 .Net 4.5.2 网站项目中实施一个可行的解决方案。 我的目标是将我的网站项目(一个 Web 表单应用程序(不是 MVC))转换为使用身份服务器 3(可能通过 thinktecture 的实现)来验证/授权用户。

这可能吗? 站点生命周期将如何变化,或者它可以对会话对象说同样的话?我可以使用身份服务器获取访问令牌然后设置会话,并且仅在会话到期或访问令牌到期时请求新的访问令牌吗?

一些背景故事:

我在以下位置https://localhost:44399确实有一个有效的身份服务器 3 设置。当我使用直接的 html 文件时,它会响应所有适当的调用和限制,但是当我尝试在登录页面 (portal.aspx) 中实现相同的东西时,它似乎忘记了用户并且行为不一样。该网站(客户端)设置在https://localhost:9898上。登录页面是https://localhost:9898/portal.aspx

我在 portal.aspx 页面上使用了 oidc-client.js,但是当它尝试进行身份验证时,我不断收到 CORS(跨浏览器源脚本)错误。 这是 Web 表单的问题吗?使用常规 html 页面时不会发生这种情况?

这是一个 .net 4.5.2 “网站项目”(不是“网络应用程序项目”),它使用 Web 表单,而不是 MVC。我有许多演示 MVC 应用程序可以正常工作,但是当我尝试将我所拥有的知识用于 Web 表单应用程序时,我发现我真的不了解正在发生的事情。

我添加了以下 nuget 包:

当我尝试添加 startup.cs 类时,它告诉我这些类通常添加到 App_Code 目录中,我想把它放在那里吗?我已经尝试过 root 和 App_Code 目录,但在调用它们时似乎都没有注册。我已经添加了包,认为这就是调用的内容:

但似乎启动类没有注册。 那么我如何让它在管道中注册,以便 401 未授权错误将用户发送到身份服务器?

这是我的启动课:

更糟糕的是,添加 Microsoft.Owin.Host.SystemWeb 由于以下奇怪的错误而无法编译:

0 投票
1 回答
190 浏览

adfs - ADFS + IdentityServer3 + 移动 + MVC

我正在构建具有以下上下文的原型。

  • 两个客户端应用程序(MVC 和移动)
  • IdentityServer3 作为依赖方
  • ADFS 3.0 作为身份提供者
  • IdentityServer3.WsFederation 插件提供 SAML 支持

MVC端是完整的,但我不知道如何接近移动端。

我之前的尝试使用了 Web API 和 ADFS 的“adfs/services/trust/13/usernamemixed”端点。这允许移动设备向 API 发送凭据,然后 API 使用 ADFS 的端点对用户进行身份验证。然后它向移动应用程序返回一个 JWT 令牌。

我们必须从 Idp(可能是 ADFS 或不同的 Idp)接收 SAML 令牌,但我们的应用程序不知道令牌的类型。

我有两个问题。

  1. IdentityServer3 不支持使用上述端点的 ws 信任(据我所知),那么这种情况下移动设备登录的正确方法是什么?
  2. 是否需要 WsFederation 插件,因为 IdentityServer3 可能会为客户端应用程序将 SAML 令牌转换为 JWT。
0 投票
0 回答
261 浏览

owin - Umbraco + OpenId + Thinktecture 拼图

我已经尝试解决这个问题两天了,并决定是时候寻求帮助了。这是设置:

使用以下软件包运行 Umbraco 7.5.6:

  • UmbracoIdentity 5.0.0
  • UmbracoCms.IdentityExtensions 1.0.0
  • UmbracoCms.IdentityExtesnions.AzureActiveDirectory 1.0.0

我们也在运行 Thinktecture SSO 服务器

  • 身份服务器3

以下是要求:

  • 后台用户必须通过 AAD 或内部用户登录(此操作已完成且有效)
  • 会员必须通过 Thinktecture SSO 服务器登录
    • 如果成员不在主页上,则必须将他们重定向回成功登录后尝试访问的任何页面

这一切看起来都很简单,所以这是我到目前为止的代码。这是我为坚持 Owin 启动过程而编写的中间件:

这是我的两个控制器方法:

最后,视图上的登录操作:

现在,这就是我迷路的地方,我要么只是错过了一些非常小的东西,要么是一些东西。以下步骤是手头的问题:

  1. Umbraco 页面加载
  2. 我可以点击重定向到 SSO 服务器的“登录”
  3. 如果我没有登录,我登录 | 如果我已登录,它会验证我的 cookie 并将我发回
  4. 它声称它正在将我发送到 ExternalLoginCallback 但如果我在控制器方法上放置一个断点,它永远不会命中。
  5. 然后它会尝试重定向回 ExternalLogin(不确定它是从哪里得到的)

在此处输入图像描述

任何帮助或建议都会很棒。

0 投票
1 回答
286 浏览

identityserver3 - 在 Web API 身份验证(身份服务器)之后添加特定于应用程序的声明

我在我的 Web 应用程序 OnValidateIdentity 中将应用程序特定声明添加到身份服务器的访问令牌声明。我正在为每个 API 调用查询数据库的登录用户获取应用程序特定声明。我是否应该将应用程序特定的声明注入 Identity Server 的令牌中(以减少数据库调用)?

0 投票
1 回答
430 浏览

oauth-2.0 - 如何用刷新令牌交换访问令牌。

我正在尝试将 Access token 交换为 refresh token 。我正在发送客户端 ID、秘密、授权类型、标头中的范围、URL 查询参数并作为 Json 发布在正文中,但我收到无效客户端作为响应。你能告诉我如何用刷新令牌交换访问令牌吗?如果我必须对 thinktecture OAuth 服务器进行任何更改以启用此功能,请告诉我。

邮递员屏幕抓取

0 投票
1 回答
312 浏览

identityserver4 - IdentityServer4发出的sid格式是什么?

在 Thinktecture IdentityServer4 发布的令牌中,有一个称为 sid - 会话 ID。在我的应用程序中,我想将此 id 与我的其他一些逻辑联系起来。但我不确定我是否可以假设它总是一个 GUID 字符串。我测试了几个。它们都是有效的 GUID。只是想知道我的假设是否正确。

0 投票
0 回答
56 浏览

.net - Thinktecture IdentityServer 2 已弃用

我们使用 Thinktecture IdentityServer 2(此处为 GitHub)将近 10 年。这是一个免费版本。一切都在生产中运行良好。

让我担心的是这个版本已被弃用,我不知道这是否是一个大问题。我应该再支持几年。可以想象吗?或者我应该迁移到最新的(付费)版本(见这里)?或者你能给我推荐一个免费的 IdentityServer 解决方案吗?

所以问题是,总的来说,是否可以在生产中继续使用已弃用的 GitHub 项目?