问题标签 [claims-authentication]

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 浏览

asp.net-core - 如何在 asp.net core 中手动生成身份验证 cookie?

我想在服务器端手动生成身份验证 cookie 字符串,当您设置 cookie 身份验证中间件并使用 SignInAsync(此 HttpContext 上下文,字符串?方案,ClaimsPrincipal 主体)登录用户时,由 ASP .NET 核心生成. 我正在使用 REST 客户端调用 API 服务器。API 使用 cookie 身份验证。有一个用例,一旦我收到来自 IDP 的 SAML 响应,我需要对 API 进行初始调用以获取用户详细信息。为此,我需要在请求中设置 cookie。

我在 Startup.cs 文件中使用带有 cookie 身份验证设置的 ASP .NET Core 5。它是典型的 cookie 认证中间件。

下面是我正在尝试做的示例代码:

0 投票
0 回答
38 浏览

c# - 如何将不记名令牌存储到 Thread.CurrentPrincipal

我必须在 Thread.CurrentPrincipal 中保存一个令牌,然后才能将其传递给外部 API,以免在应用程序周围携带令牌。在此类中,我检查令牌是否正确有效:

有什么办法可以保存我的令牌?

更新 最后我找到了解决方案:在行 var principal = ValidateToken(authorization.Parameter); 之后

并检索令牌

0 投票
1 回答
38 浏览

cookies - 如何设置身份验证cookie的路径

在 ASP.NET Core 6 MVC 中,多租户应用程序租户具有不同的路径基础,例如/tenant1/tenant2.

HttpContext PathBase来自请求 url 的中间件集。

SignInAsync方法始终将身份验证 cookie 路径设置为根路径/

我正在尝试PathBase使用此代码段设置身份验证 cookie 路径:

下面显示的代码会引发编译时错误,因为AuthenticationProperties没有Path属性。如何设置 cookiePath属性,以便不同的用户可以使用不同的基本路径进行身份验证?

0 投票
2 回答
37 浏览

identityserver4 - 如何为客户端而不是用户 IdentityServer 动态加载声明?

我想知道是否/如何在 IdentityServer4 下为客户端(而不是用户)动态加载声明。对于我的 MVC 客户端应用程序,我可以使用 IdentityServer4 的IProfileService API为用户动态加载声明,效果很好。但是我需要对 IProfileService API 函数似乎没有涵盖的服务器到服务器客户端应用程序(客户端凭据授予类型)执行相同的操作。这可以做到吗?如果是,现在?

0 投票
0 回答
33 浏览

asp.net-core-webapi - Azure B2C 令牌映射自定义角色属性以授权 WebAPI 控制器

我的 Blazor wasm 应用程序使用 Azure B2C 进行身份验证,我可以使用令牌调用 Web API。

现在我想在 WebAPI 控制器中使用角色授权,但是角色必须实现一个自定义属性,该属性似乎与 WebAPI 服务中预期的角色不“标准”。

对于客户端,我需要手动删除自定义声明“...GUID_Roles”并将其拆分以将角色单独添加为单个声明“.../role”。有没有办法在 dotnet 6 中为 WebAPI 实现相同的功能?

在我看来,Microsoft B2C 是一种解决方案,它并没有真正发挥开箱即用的出色服务安全性,而无需进行大量定制。

0 投票
1 回答
40 浏览

go - Golang jwt.StandardClaims 时间格式类型问题

我正在使用这个包“github.com/dgrijalva/jwt-go/v4”在登录函数中设置声明:

IDE 一直告诉我 *Cannot use 'now.Add(time.Hour * 24).Unix()' (type int64) 作为Time类型。我读到,因为我输入了错误的值,但是,在我在网上看到的所有示例中,这正是大多数人设置它的方式。

我仍然在赚钱,所以我不确定将这个时间格式转换为有效格式的正确方法。

0 投票
0 回答
7 浏览

oauth-2.0 - 如何在 Forgerock openID Connect 中仅获得组声明

我试图只在没有任何额外标签的情况下从 id_token 中获取组名以及身份验证后的组名。我也尝试了多种在脚本中进行编辑的方法,但仍然无法达到预期。

目前,如果我在脚本中给出这个 “组”:userProfileClaimResolver.curry(“memberOf”),我会得到CN=Global_Protect_VPN_Users 。

如何删除 CN 标签。我试过这个 “组”:{声明,身份-> [“组”:身份.getMemberships(IdType.GROUP).collect {group -> group.name}]}

forgerock 中的 openID 脚本