问题标签 [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.
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 由于以下奇怪的错误而无法编译:
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 令牌,但我们的应用程序不知道令牌的类型。
我有两个问题。
- IdentityServer3 不支持使用上述端点的 ws 信任(据我所知),那么这种情况下移动设备登录的正确方法是什么?
- 是否需要 WsFederation 插件,因为 IdentityServer3 可能会为客户端应用程序将 SAML 令牌转换为 JWT。
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 启动过程而编写的中间件:
这是我的两个控制器方法:
最后,视图上的登录操作:
现在,这就是我迷路的地方,我要么只是错过了一些非常小的东西,要么是一些东西。以下步骤是手头的问题:
- Umbraco 页面加载
- 我可以点击重定向到 SSO 服务器的“登录”
- 如果我没有登录,我登录 | 如果我已登录,它会验证我的 cookie 并将我发回
- 它声称它正在将我发送到 ExternalLoginCallback 但如果我在控制器方法上放置一个断点,它永远不会命中。
- 然后它会尝试重定向回 ExternalLogin(不确定它是从哪里得到的)
任何帮助或建议都会很棒。
identityserver3 - 在 Web API 身份验证(身份服务器)之后添加特定于应用程序的声明
我在我的 Web 应用程序 OnValidateIdentity 中将应用程序特定声明添加到身份服务器的访问令牌声明。我正在为每个 API 调用查询数据库的登录用户获取应用程序特定声明。我是否应该将应用程序特定的声明注入 Identity Server 的令牌中(以减少数据库调用)?
identityserver4 - IdentityServer4发出的sid格式是什么?
在 Thinktecture IdentityServer4 发布的令牌中,有一个称为 sid - 会话 ID。在我的应用程序中,我想将此 id 与我的其他一些逻辑联系起来。但我不确定我是否可以假设它总是一个 GUID 字符串。我测试了几个。它们都是有效的 GUID。只是想知道我的假设是否正确。
.net - Thinktecture IdentityServer 2 已弃用
我们使用 Thinktecture IdentityServer 2(此处为 GitHub)将近 10 年。这是一个免费版本。一切都在生产中运行良好。
让我担心的是这个版本已被弃用,我不知道这是否是一个大问题。我应该再支持几年。可以想象吗?或者我应该迁移到最新的(付费)版本(见这里)?或者你能给我推荐一个免费的 IdentityServer 解决方案吗?
所以问题是,总的来说,是否可以在生产中继续使用已弃用的 GitHub 项目?