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

security - 如何在 Web Api 2 中使用 ThinkTecture IdentityServer 3

我已经阅读了很多关于如何在 Asp.Net Web Api 2 中实现完整的身份验证和授权系统的内容,其中包括注册、发送电子邮件确认、发布访问令牌和刷新令牌等。毕竟我已经成功完成了所有这些,但是,对于每个项目都必须这样做,这看起来是不必要的。

我仍然不确定,但我相信“Thinktecture IdentityServer”是一个提供所有这些的包,对吗?

如果是的话,谁能告诉我(以一种非常直接的方式)我如何创建一个新的 Web Api 项目并使用这个包轻松获得上述所有功能?

0 投票
1 回答
82 浏览

thinktecture - Thinktecture.IdentityManager 在 nuget 中未选中。还在用吗?

https://www.nuget.org/packages/Thinktecture.IdentityManager/

所有者已取消列出此包。这可能意味着该软件包已被弃用或不应再使用。

为什么未选中?它不再使用了吗?我现在如何将 IdentityManager 与 Thinktecture Identityserver3 一起使用?

0 投票
0 回答
73 浏览

single-sign-on - 在 MVC 应用程序中单击登录页面时被动重定向到 WS-Fedration 站点

我有一个使用 thinktecture 进行单点登录的应用程序。我已经在 web.config 文件中配置了被动重定向。

我希望首先加载我的主页,然后单击登录/登录按钮需要进行被动重定向、身份验证和重定向到我的主页。

需要帮助来实现它

0 投票
0 回答
568 浏览

c# - 如何从 Thinktecture.IdentityModel ResourceAuthorizationManager 和 Web Api 2 更改 ResourceAuthorizationContext?

我正在创建一个 Web Api 2 应用程序Thinktecture.IdentityModel.Owin.ResourceAuthorization,我正在查看源代码,我意识到我想更改我的可用属性ResourceAuthorizationContext,我想创建一个自定义Context并将其用于与ResourceAuthorization. 这样我就可以添加自定义属性以供我的CheckAccessAsync方法使用。

我的目标是拥有这样的东西:

所以我可以像这样使用 CustomAttribute:

我想不出一种方法来自定义Context, 就像我ResourceAuthorizationManager在启动时对 , 所做的那样。
问题似乎出在这些扩展方法上,它们直接引用了ResourceAuthorizationContext类。

我错过了什么或者你真的不能这样做吗?

0 投票
2 回答
1237 浏览

authentication - 操作的 AuthorizeAttribute

TL;DR当 IdentityServer3 将表单发布到始终是根 url 的返回 url 时,MVC 应用程序如何知道在通过身份验证过程后重定向到某个操作?

此问题中的示例取自 IdentityServer3 随附的示例应用程序“MVC 身份验证”。

将 IdentityServer3 插入 MVC 应用程序时,会提供一些客户端信息,包括重定向 url,通常是根 url。所以当一个动作需要认证时,它会重定向到执行认证的 IDP。之后,有一个表单帖子返回 url,如下所示:

此特定请求将导致 302 重定向到MVC 应用程序中的/Home/Contact

我的问题是这个请求中的什么决定了最终的 302 重定向到正确的控制器,这在 MVC 应用程序中的什么地方发生?原因是,我有一个不会发生的应用程序,所以我需要了解。

0 投票
1 回答
174 浏览

oauth-2.0 - Thinktecture 授权服务器 TokenRequestValidator 返回“匿名客户端”

我有一个有趣的问题。我们已经从值得信赖的 Identity Server 2 设置了Thinktecture 授权服务器,并在几个月前让它工作。它被配置为已经存在的企业身份服务器的依赖方,因此当我们使用代码流示例时,单击"Start authorization handshake"我们退回到身份服务器,提供我们的凭据并返回代码流的回调访问代码,单击Get Token,并被授予此罚款jwt token。一切似乎都很好。

在此处输入图像描述

在此处输入图像描述

但是,当我们从例如postman或我们的应用程序开发团队从他们的开发设备(android 和 iphone)尝试此操作时,它开始正常,但是当我们使用新生成的访问代码调用令牌端点时,我们会得到"Anonymous client"响应。

在此处输入图像描述

查看CodeFlow 示例中的 Web 示例,我看到它发布了基本身份验证,包括postman和我们的应用程序团队缺少的秘密的 base64 值。我在CodeFlow 示例中没有看到对此的引用,所以我不知道这是从哪里来的。如果我硬编码Authorization BASIC[包括我从上一个示例中获取的 Base64 机密],它不会改变任何东西。

我们被困了好几天,所以任何帮助将不胜感激。有任何想法吗?

0 投票
2 回答
597 浏览

asp.net-identity - Thinktecture Identity Server 3 Asp.Net Identity Sample,不断收到 401 授权被拒绝

我正在尝试让身份服务器的 Asp.Net 身份示例在我的 Web Api 项目中工作,而初学者我正在尝试使用不记名令牌获取令牌并向 API 发送请求。

因此,使用 fiddler,我可以向 发送一个https://localhost:44333/core/connect/token包含以下内容的请求:client_id=roclient&client_secret=secret&grant_type=password&username=bob&password=mypass&scope=read write offline_access它工作正常,我得到了访问令牌和刷新令牌。

然后我的解决方案中有一个 Web Api 项目,其中包含使用不记名令牌的代码:

和一个测试控制器,其中使用[Authorize]装饰器保护 api。

正如我所说,获取令牌工作正常,但是当我使用提琴手将请求发送到 api 时,我总是得到“401 授权被拒绝......”的事情。

我在提琴手请求中提出的当然是:

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImE...

我做错了什么吗?

0 投票
2 回答
342 浏览

c# - 将 Thinktecture IdentityServer3 与 SessionAuthenticationModule/WSFederationAuthenticationModule 一起使用会引发 ID4175 错误

我正在尝试连接我的应用 IdentityServer3。我正在使用SelfHost(InMem with WS-Fed)示例。登录工作正常。我得到了一个不错的 saml 令牌:

太好了,但我的应用程序显示黄屏死机: 在此处输入图像描述

我的 Web.config(摘录)如下所示:

我究竟做错了什么?有没有办法让这个工作?

0 投票
0 回答
108 浏览

angularjs - Thinktecture 身份服务器和 AngularJS SPA

是否有任何 js 库可以连接到通过 Thinktecture Identity Server 进行身份验证的 AngularJS SPA 中?AzureAD 有 adal.js 可以与 AzureAD 一起使用,有什么可以与 Thinktecture 一起使用的吗?

0 投票
1 回答
1599 浏览

identity - 使用刷新令牌时出现 Invalid_Grant 错误

我正在使用 IdentityServer3 的混合流。我已启用 offline_access 范围以获取刷新令牌。当我的访问令牌过期时,我正在调用core/connect/token端点。我将 client_id、client_secret、refresh_token 和 grant_type (= refresh_token) 作为正文的一部分传递。我收到invalid_grant错误消息。