问题标签 [thinktecture-ident-server]
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.
thinktecture-ident-server - Thinktecture Identity Server vs MembershipReboot Multi Tenancy
我尝试安装两个身份服务器,它们都使用相同的 MembershipReboot 数据库,并在身份服务器 web.config 中设置多租户。(defaultTenant="A" multiTenant="false") 和 (defaultTenant="B" multiTenant="false")
然后我可以看到我在这两个身份服务器上创建的帐户的 MembershipReboot 数据库的 [UserAccounts] 。
但是当我尝试通过这两个身份服务器登录门户客户端时。传送给租户 A 的门户客户端可以登录成功。但其他门户客户端没有通过租户 B。
我不知道如何解决它,谁可以帮助我,谢谢。
thinktecture-ident-server - Thinktecture Identity Server v2 使用 ASP.NET 身份 v2
我已经尝试过使用开箱即用的 ASP.NET 成员资格提供程序和 MembershipReboot。
但我也想知道有什么方法可以集成 ASP.NET Identity V2?
saml-2.0 - thinktecture identityserver 2 - 在应用程序和 IdP 之间弹跳
我们在同一台服务器上部署了 3 个应用程序。1 个应用程序按预期工作,允许我们识别 thinktecture 身份服务器 2,没有问题。其他 2 个应用程序具有以下模式:
- 转到应用程序 URL
- 由于您未登录,因此您将按预期重定向到 IdP
- 您登录 IdP 并获得 IdP cookie
- 您被带回应用程序
- 应用程序确定您未登录,并将您发送回 IdP
- IdP 决定您已登录并将您发送回应用程序
- 无限重复步骤 5 和 6
我们正在使用 SAML 2.0。
来自工作应用程序的 web.config 的片段:
来自 web.config 的不工作应用程序的片段
asp.net - 使用 Thinktecture Identity Server 2 单点注销
我对 Thinktecture 的 Identity Server 2 的理解是没有实现单点注销。换句话说,当您从一个依赖方注销时,Identity Server 不会自动将用户从任何其他 RP 注销。我知道有关于此的帖子,但我无法找到有关如何扩展 Identity Server 来执行此操作的任何内容。我看过一些帖子说 Identity Server 已经开箱即用了......如果是这样,我无法找出如何。
我的 SSO 与 Asp.NET Web Forms、WIF 和 Identity Server 2 一起工作得很好,而且我能够很好地退出 RP,但据我所知,Identity Server 中需要一些额外的代码才能将用户完全退出他可能登录的任何其他 RP。
有没有人扩展 Identity Server 来实现单点注销?
这是可以在 Identity Server 中配置的东西还是需要一些编码?
如果你有一些见解,我真的很感激。
谢谢你。
c# - How Do I Access Profile Info From Relying Party?
I have Thinktecture Identity Server 2 running locally for development purposes and have set up Microsoft Membership as its User storage. I'm using SqlRoleProvider and something called SqlTableProfileProvider and that's all working fine and dandy.
My questions are, what is the best way to access the profile information from within the Relying Party web site (ASP.Net Web Forms) so I can display that profile information to the user? Do I need to configure my web.config with the ProfileProvider information that is also in Identity Server's configs? How do I then programmatically access that profile data from my code behind (C#)?
Any insights would be welcome.
Thank you!
oauth - 具有 OAuth 隐式登录的 Thinktecture 身份服务器
我正在尝试使用 javascript 登录到 OAuths 客户端中的身份服务器。我可以登录并成功返回返回网页。我遇到的一个问题是为什么 Thinktecture 身份服务器总是返回 '#' 而不是 '?' 在查询字符串中的参数之前,这是一个错误吗?
另一个问题是当我拥有 access_token 时如何获得使用声明?
jwt - 如何验证 Thinktecture 身份服务器颁发的 JWT Token?
当 OAuth 客户端从身份服务器获取 JWT 令牌时,有什么方法可以吗?
我担心当用户获取 access_token 并尝试使用 base64 对其进行解码时,用户可以修改令牌字符串。
我的场景是:我有两个门户网站 A 和 B,它们都集成了 Thinktecture 身份服务器。用户 A 只能使用“role:portalA”声明访问门户 A,但如果用户 A 尝试登录门户 A 并获取 access_token,则用户 A 将“role:portalB”添加到 access_token 中,然后使用编码再次base64。然后修改后的access_token传递给Portal B,我担心用户A可以访问Portal B。所以我必须再次检查access_token到身份服务器。这是验证此 access_token 的任何方法吗?或者这种情况不会发生?
jwt - 如何在 Thinktecture Identity Server 中加密 JWT 令牌?
Thinktecture.IdentityServer 是否支持加密它发布的 JWT 令牌,例如保护令牌不被用于回复攻击?
如果是,客户端如何解密加密的令牌?
我尝试在 IdentityServer 常规配置中启用“需要令牌加密”,但是在这样做之后,当我尝试登录时,我在身份服务器网页上收到“没有可用的加密密钥”消息。
有问题还是我缺少必需的设置?
javascript - 具有单页应用刷新访问令牌的 Oauth2 隐式流
我正在使用 Thinktecture AuthorizationServer (AS),它运行良好。
我想编写一个可以直接调用 WebAPI 的原生 javascript 单页应用程序,但是隐式流不提供刷新令牌。
如果进行 AJAX 调用,如果令牌已过期,API 将发送重定向到登录页面,因为数据使用动态弹出窗口,这将中断用户。
Facebook 或 Stackoverflow 如何做到这一点,并且仍然允许页面上运行的 javascript 调用 API?
建议的解决方案
以下场景听起来是否合理(假设这可以使用 iframe 完成):
我的 SPA 将我定向到 AS,我通过隐式流获得了一个令牌。在 AS 我单击允许Read data
范围,然后单击Remember decision
,然后单击Allow
按钮。
由于我点击Remember decision
了按钮,每当我点击 AS 获取令牌时,都会自动传回一个新令牌,而无需我登录(我可以看到 FedAuth cookie 记住了我的决定,并相信这使它能够正常工作)。
使用我的 SPA(不受信任的应用程序),我没有刷新令牌,只有访问令牌。所以我改为:
- 确保用户已登录并单击记住决定(否则 iframe 将无法工作)
- 调用 WebAPI,如果 401 响应尝试通过以下步骤获取新令牌...
- 在页面上有一个隐藏的 iframe,我将设置 URL 以从授权服务器获取新的访问令牌。
- 从 iframe 的哈希片段中获取新令牌,然后将其存储在 SPA 中并用于所有未来的 WebAPI 请求。
我想如果 FedAuth cookie 被盗,我仍然会遇到麻烦。
上述情况的任何标准或推荐方式?
owin - Thinktecture IdSrv - 将使用的身份提供者名称设置为声明
我正在使用很棒的 ThinkTecture Identity (IdSrv) 和 Authorization (AS) 服务器。
我有多个身份提供者(Facebook、ADFS、谷歌等)的 IdSrv 设置。
app.UseClaimsTransformation(new ClaimsTransformer().Transform);
我正在运行流程演示,并且一切正常,我目前正在通过in使用 ClaimsTransformer startup.cs
。
我想知道声明是由哪个身份提供者提供的,目前从 AS 发送的唯一声明如下:
上面示例中的主题是标识自己的用户的 Facebook 帐户,但很容易是mydomain\someusr
.
有什么方法可以让身份提供者的名称用作声明或其他方式?
我需要知道这一点,因为如果用户使用本机 ThinkTecture IdentityServer 作为身份提供者(用户名/密码 - 我可以通过IUserRepository
存储库集成到用户/密码数据库)登录,我需要一个链接来更改用户密码),如果用户通过 facebook/google 等登录,显然这不会显示。