问题标签 [identityserver4]

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

asp.net-mvc-4 - 如何实现身份服务器3本地化

我有一个 identityserver3 作为单独的服务器,用于验证多个客户端。

我想本地化它,为此我使用了IdentityServer3.Contrib.Localization,现在我知道这是它的用法:

在 IdentityServer 启动类中,我有一个服务工厂,例如:

在选项中:

我尝试将本地化服务注册到 identityserver servicesFactory 但它不能正常工作,我也没有找到关于如何使用它的示例,有人可以帮忙吗?

0 投票
1 回答
898 浏览

asp.net-web-api2 - asp.net 5 和 IdentityServer4

我正在使用 ASP.NET 5 开发站点重新架构的原型,并且我正在讨论使用 IdentityServer4 进行身份验证和授权。我已经查看了很多关于设置 IdentityServer3 和 4 的示例和文章,如果它能够以适当的方式处理我的客户的要求,我正在努力解决问题。这是我的要求。

我有 3 个需要授权的站点。站点 1 (abc.com) 将需要 Windows 身份验证,并且将是使用角色(或转换为声明的角色)进行授权的 mvc 和 webapi 调用的组合。站点 2 (def.com) 是一个受信任的站点,它希望在其站点上有一个带有用户名/密码/rememberme 文本框的登录小部件,当提交该小部件时,将对用户进行身份验证并将他们重定向到站点 3 (xyz.com)。站点 3 也将有自己的登录页面,并且将是使用声明的 mvc 和 webapi 调用的组合。站点 2 和 3 将不使用 Windows 身份验证,并且客户端不希望他们重定向到身份服务器登录屏幕,而是拥有自己的登录屏幕并使用凭据从代码调用身份服务器进行登录。

这是我关于这种情况和 IdentityServer4 的问题。

  1. Idsvr4 可以使用 Windows 身份验证处理一个客户端,而另一个使用用户名/密码身份验证处理一个客户端吗?
    • 如果是这样,是否有理由在 idsvr4 中使用 Windows 身份验证,还是应该只在 webapp 中使用标准的 Windows 身份验证?
  2. 是否可以设置 idsvr4 让客户端收集用户名/密码/rememberme 值并通过代码传递它们以获得 mvc 和 webapi 的正确 jwt 令牌?

    • 如果是这样,它可以将它们登录到另一个站点上的 mvc 和 webapi 应用程序中吗?

    • 如果是这样,这是否绕过了 identityserver4 的真正目的,因此是一个坏主意?

  3. 如果它可以处理这种情况并且是一个好主意,我将如何设置客户端、范围和代码以通过代码和重定向处理登录?

示例非常好,非常受欢迎,但我什至不确定使用什么措辞来搜索这种情况,所以即使指出我正确的方向也会有很大帮助。

0 投票
2 回答
1980 浏览

asp.net-core - 带有 IClaimsTransformer 的 User.IsInRole("Administrators") 始终为 false

administrators在身份验证后将角色添加到用户声明中,IClaimsTransformer如下所示:

(principal.Identity as ClaimsIdentity).AddClaim(new Claim(ClaimTypes.Role, "Administrators")); 但是当我调用 User.IsInRole("Administrators")我的 Razor 视图时,它返回 false。

0 投票
1 回答
1023 浏览

c# - 使用数据库而不是内存存储身份服务器 4

请指导我如何自定义 identityserver 4 以使用数据库而不是内存存储。

需要覆盖的类列表以及如何配置它们

0 投票
0 回答
513 浏览

asp.net-core - 生成有效的 JWT

这个周末我开始使用 Identity Server 4,它的易用性给我留下了深刻的印象,感觉我已经很好地掌握了创建 access_token 的过程。一直在使用 Implicit- 和 ResourceOwner-Flow 来创建令牌。

我的问题是我的 identityserver3 wep api 无法验证创建的 JWT,当我使用 jwt.io 进行手动验证时它也会失败。

示例令牌:

eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNyc2Etc2hhMjU2Iiwia2lkIjoiRkRFQUE5NTBDRjczODM0MzEwNTZBNzY3Mjc1RTNEMzE5N0VERDJGOSIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0NjMzNDM2MjgsImV4cCI6MTQ2MzM0NzIyOCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwL3Jlc291cmNlcyIsImNsaWVudF9pZCI6ImJyZnBvcnRhbF9hcGkiLCJzY29wZSI6ImJyZnBvcnRhbGJhY2tlbmQiLCJzdWIiOiIyIiwiYXV0aF90aW1lIjoxNDYzMzQzNjI4LCJpZHAiOiJpZHNydiIsInVuaXF1ZV9uYW1lIjoidGVzdCIsImJyZklkIjowLCJhcHROYnIiOiIwIiwiYW1yIjpbInBhc3N3b3JkIl19.iUvP7jVYSZPXozF0htLbaRrl_iqz_JOIczU5WpIoA5RHfgY17YGN4ERm-8NNPvXQBgJDe2ZeCpLV3MJR4smSOx​​NOBlzWWlgGApl5VauE62L0POxUnwzRFt2OYh5MVcilz0hRaKstB02EPXy-rDmgsNY8u_iT0bPU8bDD0XTETPy7QRldSMNKfUmeMOC0y8RQYypmXlZsO89HlseyfqE4kptruAho_EIp61qQ3CchJrkXwSB9YBWz4PrJHAiEA_ntzskOQ7K_96jQYZDH2NxaIQRKz7RPZWQreZHtnM7tUG6PNYI02raUFF7w8SQFTjjKUBQROcPezKZMtgFiv-c2Ww

我看到的一个问题是,根据我的理解,web api 将检查

http://localhost:5000/.well-known/openid-configuration/jwks

为公钥中的公钥。据我所知,公钥在“x5c”字段中可用,但是当我在 jwt.io 上使用它进行验证时,它不起作用。

FDEAA950CF7383431056A767275E3D3197EDD2F9

是我的证书指纹,与我的 JWT 的“孩子”字段相同。但是 jwks 响应的“孩子”字段不应该相同吗?

这是我在身份服务器中的代码:

使用 InMemory 配置为客户端、范围和用户设置 identityserver4。这似乎确实有效,就像获取包含正确数据的 JWT 一样。

我没有在这里添加我的 Clients、Scopes 和 Users 类,因为我认为问题不在于那里。

这是我在 Web API 中使用 IdentityServer3.AccessTokenValidation 的代码:

我可以看到我的 API 从日志中访问身份服务器,但在尝试在我的过程中发现问题后,我仍然收到“此请求的授权已被拒绝”。对于每个请求。

0 投票
1 回答
2616 浏览

asp.net - 使用 IIS 的 IdentityServer 4

我正在尝试使用 IdentityServer 4。现在我使用此链接https://github.com/IdentityServer/IdentityServer4.Samples作为示例。

我的问题是使用 http://localhost:22530/ IdentityServer 加载和工作,但将它用作我的 IIS 上的托管网站http://identity.test.dev它没有加载。

我已经尝试运行此示例https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Mvc/src/IdSvrHost中的代码,但它不起作用。

如何通过http://identity.test.dev在 IIS 下启动 IdentityServer ?

0 投票
2 回答
44023 浏览

c# - Identity Server 4 授权代码流程示例

我正在尝试使用授权代码流通过 AspNet Core 实现 Identity Server 4。

问题是,github 上的IdentityServer4存储库有几个示例,但没有Authorization Code Flow

有没有人有关于如何使用 Identity Server 4 和 MVC 中的客户端使用它来实现授权代码流的示例?

0 投票
0 回答
121 浏览

javascript - 显示需要 api 身份验证的大图像标签

我正在使用当前从使用 cookie 身份验证切换到身份服务器的系统。应用程序的前端是一个使用 KnockoutJS 的 SPA。SPA 可以访问其内容的 WebAPI 范围。

我们目前有代码允许 SPA 获取 Identity Server 的不记名令牌,并对 API 进行 ajax 调用,并在 Authentication 标头中传递令牌。我们现在遇到的问题是如何替换一些之前直接链接到 WebAPI 的图像标签 src 属性。

一个例子是:

这是使用类似于以下方法的方法签名与 web api 交谈(为这篇文章删减)

我们看到的一种方法是更改​​ API 以返回 base64 编码图像并使用 ajax 请求图像字符串,然后可以将其设置为 src,例如

这不是我们当前系统的一个选项,因为使用这种方法可以显示的图像文件有大小限制(这似乎因浏览器而异),而且我们的许多图像对于这种方法来说太大了。

有没有其他方法可以安全地将大图像传递给浏览器?

0 投票
1 回答
2458 浏览

angularjs - 使用 IdentityServer 4 登录后如何获得用户声明?

我已使用此示例使用 angular 和 WebApi (ASP.NET Core) 设置 IdentityServer4:https ://github.com/damienbod/AspNet5IdentityServerAngularImplicitFlow

一切正常,我可以登录并使用 API 和一切,但问题是登录后我没有取回用户信息。我需要 subjectId 以便获取特定用户。我认为它会与声明或其他东西一起返回,但我在 cookie 中看到的唯一东西是令牌。

0 投票
1 回答
210 浏览

oauth - 为什么要使用 OAuth、SAML、身份服务器

我们有许多 Web 应用程序并希望集成 SSO。使用 OAuth、SAML、Identity Server 有什么好处。与制作生成令牌和验证用户的自定义 webapi 有什么不同。