identityserver4 相关问题

基于ASP.NET Core的OpenID Connect Provider和OAuth 2.0 Authorization Server Framework

Blazor WebAssembly + Identity Server - 在成功验证后检索额外的用户权限(声明?)

我有两个独立的项目: 使用 IdentityServer4 和 ASP.NET Identity 的 ASP.NET Core 托管身份提供者 使用 Duende BFF 与

回答 1 投票 0

我的 React Native App 应该使用哪种授权类型来使用 Identity Server 4 进行身份验证?

我正在开发一个反应式本机应用程序,它需要连接到我后端的身份服务器 4 (.net c##)。现在,为了让我的应用程序通过我的身份服务器进行身份验证,我需要...

回答 0 投票 0

family_name 和 given_name 未包含在 AzureAD 令牌声明中

我已成功将 OIDC 流与 AzureAD 连接起来,但不幸的是,我无法获得令牌中包含的 family_name 和 given_name 声明。 在 Azure App Registration 页面中,我添加了...

回答 0 投票 0

如何将多个身份提供者与 Identity Server 4 集成,同时还使用 Cookie 和 JWT 身份验证

目标 我正在尝试在此处的图中实现@ToreNestenius 描述的场景。 配置 我有多个 API 服务、一个 Identity Server 4 实例和一个 React SPA 前端。 ...

回答 0 投票 0

使用简易身份验证和身份服务器时如何使用访问令牌访问我的 azure 函数?

我正在尝试使用自定义 openid 连接提供程序(身份服务器)进行简单的身份验证,并试图了解我应该如何使用从

回答 0 投票 0

System.InvalidOperationException:IDX20803:无法从 .NET 5 的“System.String”获取配置

我一直在实施 IdentityServer4 来为我的 React 应用程序提供授权。我在我的本地开发环境中工作,但在部署到 Windows 中的 IIS 后遇到问题

回答 9 投票 0

如何在没有授权属性的情况下调用连接/授权

我在 IdentityServer4 上有两个 Asp.Net Core MVC 应用程序和登录系统。 第一个应用程序受到完全保护,意味着所有控制器都在 [Authorize] 属性后面,并且可以正常工作。 第二个应用程序是...

回答 2 投票 0

如何设置 ZohoDesk 和身份服务器?

这个连接有问题。 我有一个方法登录()。该方法使用表单捕获用户数据。但我不知道如何获取令牌,然后将其发送到 zoho desk。 我的客户设置: 新客户...

回答 1 投票 0

ComponentSpace.SAML2、.NET Core 2.2、IdentityServer4 2.3.2 - AddSaml 重载和 SamlMiddleware 的奇怪行为

我正在使用 IdentityServer4 作为 IDP 和 ComponentSpace.Saml2 库对 SP 发起的 SSO 进行概念验证。我目前仅限于 dotnet Core 2.2 和 IdentityServer4 2.3.2 作为升级...

回答 0 投票 0

identityserver4 关联失败

最近在学习idenetty server 4,在github上整理了一个测试项目 环境:Windows 10,边缘 边缘:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/88.0.

回答 3 投票 0

IS4 MVC 多 API 通信问题

我正在重构一个单一的 .NET CORE MVC 应用程序。到目前为止我所拥有的是我添加了 IS4 并将部分逻辑从 MVC 提取到新的 API。 这就是我设置 IS4 的方式 公共静态 IEnumerable 我正在重构一个单一的 .NET CORE MVC 应用程序。到目前为止我所拥有的是我添加了 IS4 并将部分逻辑从 MVC 提取到新的 API。 这就是我设置 IS4 的方式 public static IEnumerable<ApiScope> GetApiScopes() => new List<ApiScope> { new ApiScope("CRMApi", "CRM API Scopes"), }; public static IEnumerable<ApiResource> GetApiResources() => new List<ApiResource> { new ApiResource("CRMApi", "CRM API Resources") { Scopes = { "CRMApi" }, Enabled = true, UserClaims = { "sub", "name", "email" }, }, }; public static IEnumerable<Client> GetClients() => new List<Client> { new Client { ClientId = "CRMClientMVC", ClientName = "MVC Client", ClientSecrets = { new Secret("MVCSecret".Sha512()) }, AllowedGrantTypes = GrantTypes.Hybrid, RequirePkce = false, AllowedScopes = { IdentityServerConstants.StandardScopes.OpenId, IdentityServerConstants.StandardScopes.Profile, IdentityServerConstants.StandardScopes.Email, "CRMApi", }, RedirectUris = new List<string>{ $"{Discovery.CRMClient}/signin-oidc" }, PostLogoutRedirectUris = new List<string> { $"{Discovery.CRMClient}/signout-callback-oidc" } }, new Client { ClientId = "CRMNewApi", ClientName = "CRM API", ClientSecrets = { new Secret("CRMApi.secret".Sha256()) }, AllowedGrantTypes = GrantTypes.ResourceOwnerPasswordAndClientCredentials, RequirePkce = false, AllowedScopes = { IdentityServerConstants.StandardScopes.OpenId, IdentityServerConstants.StandardScopes.Profile, IdentityServerConstants.StandardScopes.Email, "CRMApi", }, AlwaysIncludeUserClaimsInIdToken = true }, }; 我的MVC services.AddAuthentication(opt => { opt.DefaultScheme = "Cookies"; opt.DefaultChallengeScheme = "oidc"; }) .AddCookie("Cookies") .AddOpenIdConnect("oidc", opt => { opt.SignInScheme = "Cookies"; opt.Authority = discoverySettings.IdentityApi; opt.ClientId = "CRMClientMVC"; opt.ResponseType = "code id_token"; opt.SaveTokens = true; opt.ClientSecret = "MVCSecret"; opt.GetClaimsFromUserInfoEndpoint = true; opt.Scope.Add("email"); opt.Scope.Add("CRMApi"); }); 和API: builder.Services.AddAuthentication("Bearer") .AddJwtBearer("Bearer", opt => { opt.RequireHttpsMetadata = false; opt.Authority = discoverySettings.IdentityApi; opt.Audience = "CRMApi"; }); 我可以注册新用户并登录。当我转到任何子页面时,我都可以从 MVC 调用 API,这很棒。 问题 但是因为 MVC 和 API 之间的依赖关系很重要,我还必须从 API 调用 MVC。 这就是我遇到问题的地方。当我从 API 调用 MVC 时,我得到状态代码 200,但响应内容是 IS4 登录页面 html?! <head> ... <title>IdentityServer4</title> ... </head> ... 这就是我在游戏机上看到的 MVC 控制台 info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2] Authorization failed. These requirements were not met: DenyAnonymousAuthorizationRequirement: Requires an authenticated user. 2023-03-14 11:16:08.9242|INFO|Microsoft.AspNetCore.Authorization.DefaultAuthorizationService|Authorization failed. These requirements were not met: DenyAnonymousAuthorizationRequirement: Requires an authenticated user. IS 控制台 info: IdentityServer4.Hosting.IdentityServerMiddleware[0] Invoking IdentityServer endpoint: IdentityServer4.Endpoints.AuthorizeEndpoint for /connect/authorize info: IdentityServer4.ResponseHandling.AuthorizeInteractionResponseGenerator[0] Showing login: User is not authenticated 流程通常是这样的: 我在首页点击了一些东西 这会在 MVC 中使用 [Authorize] 属性执行一些操作 MVC 调用 API 这会在具有 [Authorize] 属性的 API 中执行一些操作 但是 API 完成它的工作需要一些来自 MVC 的数据所以它调用 MVC 这会在 MVC 中执行另一个具有 [Authorize] 属性的操作 但这并不像描述的那样工作 这就是我从 API 进行调用的方式。我将 MVC 访问令牌复制到请求中 var client = _httpClientFactory.CreateClient(httpClientType.ToString()); var accessToken = await _httpContextAccessor.HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken); var authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken); requestMessage.Headers.Authorization = authorization; 我试过什么 我从请求中删除了访问令牌,但结果是一样的。 我尝试添加 MVC 资源和范围,然后将其包含在 API 范围中,但这不起作用。可能是因为我调用 API->MVC 的方式。 new ApiResource("CRMClient", "CRM Client MVC Resources") { Scopes = { "CRMClient" }, Enabled = true, UserClaims = { "sub", "name", "email" }, } new ApiScope("CRMClient", "CRM Client MVC Scopes") 在 API 客户端中我添加了这个范围 "CRMClient" 结果还是一样。 问题 我想知道我在这里错过了什么?我应该以某种方式在启动时授权我的 API 吗?将令牌存储在某处并在请求消息中将该令牌发送到 MVC?我在这里完全无能为力。 如果我添加第二个、第三个 API 并希望所有 API 和 MVC 能够相互通信怎么办? 我可以分享更多细节,例如如果需要的话。 提前谢谢你。

回答 0 投票 0

Angular 应用程序中针对本地 AD 的身份验证

我一直在开发一个带有 .NET Core 后端(服务)的 Angular 应用程序。任务是启用集成身份验证,即使其与本地用户无缝协作,所以我登录到我的(connec ...

回答 3 投票 0

StatusCode:405,ReasonPhrase:'Method Not Allowed' 在我的 API 中从 Skrouba 删除角色或任何其他内容时,但发布成功,为什么?

StatusCode:405,ReasonPhrase:'Method Not Allowed' 在我的 API 中从 Skoruba 删除角色或任何其他内容时,但 Post 成功了,为什么? 我尝试使用 http 客户端 SendAsync 、 PostAsync 和

回答 0 投票 0

AWS Cognito 和身份服务器在 C# 应用程序中缺少声明

将 AWS Cognito 与身份服务器一起使用我无法在 id_token 或 access_token(来自我的客户端应用程序)中获得完整声明。 我们需要获取的属性之一就是email,这个是

回答 0 投票 0

当有人请求新的 Refresh Token 时,我是否应该更新新的 Refresh Token 的到期日期?

当客户端请求一个新的刷新令牌时,Api 应该更新新的刷新令牌的到期日期还是我应该只发回一个新的访问令牌和刷新令牌,而不更新到期...

回答 0 投票 0

如果无法访问身份服务器发现文档,则处理错误

我有一个使用两种身份验证方案的 .NET 核心 WebAPI,第一个是 AAD,第二个是 identityserver4 services.AddAuthentication(authOptions => { 授权选项。

回答 1 投票 0

了解 IdentityServer 和 API 通信

根据我的研究,最好将 API 和 IdentityServer 分成 2 个项目(也是 2 个域,即:https://api.mywebsite.com 和 https://identity.mywebsite.com),所以我...

回答 1 投票 0

IdentityServer4 总是返回 401 Unauthorized 或 403 Forbidden

我是 IdentityServer4 的新手。我已经创建了一个 IdentityServer4 客户端,一个运行在 https://localhost:44311/ 的 IdentityServer4 范围。我使用 IdentityServer4 保护了一个示例 Weather API。当...

回答 1 投票 0

Duende.IdentityServer v6 > 从 IdentityServer4 迁移后,自定义 IProfileService 实现不会从数据库中读取 IssuedClaims

我们的 Web 应用程序使用的是 IdentityServer4(包 2.5.4),现在我们迁移到 Duende.IdentityServer v6。我们有自定义 IProfileService 实现。客户端应用代码和

回答 1 投票 0

访问API时,得到500内部服务器错误。从Identity Server4登录表单成功登录后,重定向到Anglar前端。

我使用Angular前端,.netcore API和identityserver4。我正在为开发环境和生产环境测试AddSigningCredential(证书)。在我的本地环境下工作正常, ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.