问题标签 [identitymodel]

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

.net-4.8 - .net 4.8 IdentityModel 定位的程序集的清单定义与程序集引用不匹配

我有两个项目的解决方案(.net 4.8)

  1. 网络API
  2. 类库

在我的 Web api 中,我使用的是 IdentityServer3.AccessTokenValidation,并且与 IdentityModel 1.9.2 存在依赖关系。

在类库中,我添加了 IdentityModel 4.4.0 以从 IDServer 获取 ClientCredentialsToken。

添加类库作为对 Webapi 的引用。在运行时我收到错误

无法加载文件或程序集“IdentityModel,Version=4.4.0.0,Culture=neutral,PublicKeyToken=e7877f4675df049f”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。

解决此问题的任何线索。提前致谢。

0 投票
1 回答
420 浏览

asp.net-core - 如何绕过 OAuth2Introspection 中的证书 (SSL) 验证?

我正在开发一个 API,但每当我尝试连接它时都会收到此错误:

我正在使用IdentityModel.AspNetCore.OAuth2Introspection但没有选项可以配置像 JwtBearer 中的反向通道 HTTP 处理程序。

我想在开发中绕过 OAuth2Introspection 中的证书验证,类似于下面的代码:

0 投票
1 回答
245 浏览

asp.net-core - 我应该在 MVC 应用程序中使用哪种 OpenId 授权类型?代码?客户凭证?

使用 ASP.NET Core 5、Angular 10 和 Identity Server 4,我创建了 4 个应用程序:

  1. 使用身份服务器 4 进行身份验证;
  2. Asp.Net Core 5 API
  3. Asp.Net Core 5 MVC
  4. 角 10 SPA

在 Angular 应用程序 (4) 上,我使用的是OIDC Client JSCode Grant Type

Asp.Net Core 5 MVC应用(三)也需要访问API ...

我正在使用身份模型,但我应该在 MVC 应用程序中使用什么授权类型?

Angular 应用程序中的代码(这可能吗?)?客户凭证?

0 投票
1 回答
141 浏览

c# - MSAL 是否仅适用于 Azure 和 Microsoft 标识平台?

我正在寻找一些可以处理 OAuth 请求并在访问令牌过期时自动利用刷新令牌来获取新令牌的客户端库。我发现https://identitymodel.readthedocs.io/为 HttpClient 添加了扩展,仅此而已。它将令牌管理留给您,您需要编写一个逻辑来刷新过期令牌并正确处理超时等。

我在这里找到了一个建议使用 ADAL(现已弃用)的答案,它显然适用于 3rd 方 api。

TLDR:MSAL是否仅适用于 Azure 和 Microsoft 身份平台,还是可以与使用 OAuth 的各种 API 一起使用?

看起来它总是发出请求,https://login.microsoftonline.com并且似乎无法更改令牌等的端点。

0 投票
1 回答
256 浏览

c# - IdentityServer4 示例代码给出未授权客户端错误

我正在尝试学习 Identitymodel.OidcClient 包,并通过测试提供的示例之一开始:ConsoleSystemBrowser 示例。这是一个非常简单的示例,我希望它从一开始就为我提供一个完全配置且有效的示例。但是,当我按原样运行示例时,我收到了这个未经授权的客户端 - 未知客户端或客户端未启用错误。

错误截图

我已将 Serilog 配置为检查日志,但我无法从日志中弥补任何告诉我为什么会收到此错误的内容。谁能帮我找出问题所在?

这是日志:

0 投票
0 回答
494 浏览

c# - IdentityModel.OidcClient RefreshTokenDelegatingHander

我正在尝试使用RefreshTokenDelegatingHander ,但无法使用 Xamarin.forms 找到任何合适的方法或示例。有人成功了吗?这是我尝试过的:

在我的登录方法之后:

我正在尝试将其与以下内容一起使用:

任何人有任何想法?或任何例子?

0 投票
0 回答
52 浏览

asp.net-core - IdentityServer4 从客户端应用程序注册

我使用 IdentityServer4 和 .Net Core Identity 创建了一个 OAUth 服务器。它在大多数情况下都可以正常工作。启动代码如下:

如果我在客户端站点的页面上使用 [Authorize] 属性,它会自动将用户发送到 OAUth 服务器进行登录。我想做的是能够使用注册和登录按钮来登录客户端应用程序。我通过创建一个登录页面来计算登录,如下所示:

如果链接指向此页面,[Authorize] 属性将导致它触发 OAuth 服务器上的登录。有谁知道触发登录的更好方法?我的解决方案总是返回到站点的根页面。这样做可以,因为此应用程序的根页面是唯一没有 [Authorize] 属性的页面。将来可能会改变。

我也希望注册链接也能正常工作。我发现这个https://openid.net/specs/openid-connect-prompt-create-1_0.html表明直接进入注册页面的能力至少在工作中。有谁知道如何使用 Microsoft.AspNetCore.Authentication.OpeIdConnect 做到这一点?

我知道这在技术上是两个问题,但我认为答案是相关的。

0 投票
2 回答
631 浏览

c# - 在 IIS 上使用 IdentityServer4 进行 Windows 身份验证

我正在尝试使用 Windows 身份验证凭据将我的本机(Winforms、控制台应用程序)客户端连接到托管在IIS上的 Identity Server 。重点是让用户通过 AD 进行身份验证,并使用这些凭据从身份服务器(通过商业https://commercial.abp.io/平台运行)获得正确的声明和角色。

编辑:我发现这不是与客户端相关的问题,因为即使直接在托管站点上我也无法使用我的外部登录名(Windows 凭据)。

这个东西在由IISExpress托管时在本地工作,然后我将它发布到IIS并在 IIS 设置中启用了匿名和 Windows 身份验证,这就是问题开始的地方。

我的登录屏幕

当我运行它并单击外部登录(Windows 凭据)按钮时,我通常会重定向到https://myserver/Error?httpStatusCode=401 并且我会提示我的 Windows 凭据(即使我正确插入,只需重复提示再次)。

这是我单击自动 Windows 身份验证按钮后得到的地方

我不时使用我的 Windows 凭据登录(这是目标)。使用用户名和密码登录可以正常工作。

我在这里看到有人提到的类似问题: https ://github.com/IdentityServer/IdentityServer4/issues/4937没有任何解决方案\答案。

我的客户端基本上是来自此 https://github.com/damienbod/AspNetCoreWindowsAuth的示例 NativeConsolePKCEClient

在服务器端启动配置服务:

这是 ProcessWindowsLoginAsync 质询方法:

我怀疑这段代码在调用 Challenge 时会以某种方式返回重定向到错误页面,但我不确定,我现在知道为什么。

那我错过了什么?是否可以在 IIS 上同时运行 Windows 和匿名身份验证?

在这里我也发现了类似的问题: identity server 4 windows authentication

但提出的答案对我没有帮助。

0 投票
1 回答
384 浏览

c# - IdentityServer 显示 Android Native App 的空白 PostLogoutRedirectUri

我使用 IdentityServer4 和 .Net Core Signin Manager 创建了一个 OAuth 服务器。登录效果很好并返回到我的应用程序。注销似乎不知道谁在注销。Logout Razor Page 代码如下:

当它被调用时,会有一个 logoutId。它获取上下文,但 PostLogoutRedirectUri 为空白。ClientId 和 ClientName 也是空白的,但上下文有一个名为 ClientIds 的字段,第一个条目是我的应用程序的正确 ClientId。日志显示如下:

我正在为客户端应用程序使用 IdentityModel。我的注销编码如下:

似乎 PostLogoutRedirectUri 应该出现在这里。有谁知道实现这一点的方法?如果没有,是否可以使用ClientId获取Client信息以找到那里的PostLogoutRedirectUri?

谢谢,吉姆

0 投票
1 回答
136 浏览

c# - 如何在使用 Windows.Web.Http 的 UWP 应用中使用为 System.Net.Http 添加的 IdentityModel 扩展方法 (TokenRefresh)

我想在使用 Windows.Web.Http 的 UWP 应用程序中使用为 System.Net.Http 添加的 IdentityModel 扩展方法 (TokenRefresh)。但是,我目前使用的是 4.3.1 版本。在此版本上,Windows.Web.Http.HttpClient 扩展不可用。