问题标签 [openiddict]

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

amazon-web-services - 使用 https 负载均衡器在 aws 上验证 JWT 令牌

我正在使用aws(amazon web services)来托管我的应用程序。我的托管服务器没有安装 SSL,但负载均衡器(面向互联网的网关)有 SSL,所以每当我调用https:// mydomain .com它时,首先会转到负载均衡器,然后http:// mydomain .com.

然而,这种架构的问题是,当服务器创建一个令牌时,它具有颁发http:// mydomain .com者,因此在jwtbeaererauthentication配置中,如果我将其设置http:// mydomain .com为授权,它会引发 CORS 错误,如果我将https:// mydomain .com其设置为不会授权。

如果此类问题有任何解决方法,请告诉我。我使用asp.net core、openiddict 和 jwtauthentication作为中间件。

0 投票
1 回答
1658 浏览

asp.net-core - 具有双重身份验证的 OpenIddict

好吧,标题几乎解释了这一切,但这是我想要做的:

我正在开发一个需要支持 JWT 身份验证的 ASP.NET Core 1.0 应用程序。使用 OpenIddict 很容易做到这一点,但 OpenIddict 是那些“在后台神奇地工作”的框架之一。

我想保持 OpenIddict 的简单性,但通过使用 Identity 和它的双因素身份验证功能而不仅仅是用户名/密码登录来改变它的默认行为。

我还没有找到向 OpenIddict 提供自定义登录管理器的方法。有没有人有这方面的经验?

0 投票
1 回答
696 浏览

asp.net-core - OpenID 连接服务器。基于 3-rd 方令牌(社交登录)生成访问令牌

我已经实现了 OpenID Connect 服务器,它使用OpenIddict根据用户名/密码为移动客户端生成访问令牌。我的下一个目标是提供使用 3-rd 方令牌(例如社交登录)生成访问令牌的能力,我从与 Google 令牌集成开始,但由于找不到任何有关如何执行此操作的示例/信息而陷入困境。

我目前唯一的想法是向“/connect/token”端点发出请求并以“code”参数发送谷歌令牌,例如以“google:”格式,然后覆盖OpenIdConnectServerProvider.DeserializeAuthorizationCode方法:

收到授权码时调用。应用程序可以使用此上下文使用自定义格式反序列化代码,并使用以下方式跳过默认逻辑

所以我创建了自己的CustomProviderOpenIddictProvider,注册它

并覆盖该DeserializeAuthorizationCode方法:

whereGoogleTokenValidator是用于 Google 令牌处理的自定义类(它调用 Google 用户信息端点并生成 ClaimsPrincipal),基于aspnet/Security repo 中GoogleHandler类的“复制粘贴”代码。

总的来说,它正在使用一些额外的技巧,但我有强烈的感觉,重新发明轮子......

0 投票
2 回答
2467 浏览

oauth - 使用 Openiddict 的 ASP.NET Core 1.0 OAuth 服务器

我想使用 Openiddict OAuth 来保护我的 ASP.NET Core 1.0 Web 应用程序中的 api 端点。这api端点将由电话应用程序调用,用户必须使用用户名和密码登录

流程是这样的:

  • 用户可以通过 Web 应用程序注册和登录:https://www.domain.com
  • 用户安装手机应用程序,他们可以使用手机应用程序登录和注册。登录、注册和数据访问是通过api端点完成的:示例:https://www.domain.com/api/service/getsomedata

如何配置 Openiddict OAuth,以便使用 OAuth 保护 API 端点?

0 投票
1 回答
1858 浏览

ldap - 是否可以同时使用 OpenIddict 和 LDAP?

我想使用 LDAP 针对 Active Directory 对用户进行身份验证。OpenIddict 可以吗?

目前,我有前端(Angularjs)+ 后端(Web.API 与 ASP.NET Core 和 OpenIddict),效果很好。部分用户使用个人用户帐户,他们将继续使用。另一部分用户应该使用AD帐户。它位于内部网络内部,并希望为此使用现有的 Active Directory。

请为此提出任何解决方案。

谢谢。

0 投票
2 回答
2925 浏览

asp.net-core - Authorize via JWT Token

ASP.NET Core 5 with ASP.NET Identity 3.0, I'm using both web pages and apis. I am using OpenIddict to issue a JWT token and to authenticate. My code looks as such:

If I disable UseJsonWebTokens(), I can generate a token and authorise successfully. However, I am not sure that my certificate is validating the returned tokens.

And when enable UseJsonWebTokens, I am able to issue a JWT token at this end point. However, I can't authenticate any request!

I am using the following code in the app configuration:

  • How can I enforce the request to be validated with my certificate to make sure the JWT token is not tampered with.
  • What are the correct settings that will allow validation and authorisation of my JWT token, given that if I am not using JWT, I am getting authorised successfully.
0 投票
1 回答
828 浏览

asp.net-core - 使用 OpenId Connect 进行基于声明的身份验证

我将 ASP.NET Core 与 OpenIddict、JWT、资源所有者授予和基于声明的角色一起使用。不执行任何策略的授权按预期工作。

我想对某些控制器和操作方法强制执行授权策略。我所有的用户都有角色声明,所以我在 Startup 中做了以下操作:

我对 action 方法做了以下操作:

没有“管理员”,我可以访问资源,添加“管理员”后我不能。

我假设因为我生成的 JWT 令牌没有用户声明。

  • 我的 JWT 是否应该包含用户角色声明以使令牌起作用?
  • 如何使用 OpenIddict 发送角色声明?
0 投票
1 回答
2703 浏览

asp.net-core - OpenIddict 在令牌响应中获取用户 ID

将 ASP.NET Core 与 OpenIddict 密码授予一起使用。

调用身份验证端点时,我得到以下信息:

如何在响应中包含用户 ID?我可以在解码的令牌中看到它,但我的用户应用程序不会对其进行解码。

0 投票
1 回答
4642 浏览

c# - 使用来自 web api 的访问令牌在 web 应用程序上授权

我有一个连接到数据库的 web api,它使用 OpenIddict 和密码流(资源所有者密码凭据授予)提供访问令牌:

Web api 具有受保护的操作,只能使用有效的访问令牌调用。这工作正常。

我有一个网络应用程序,它应该使用相同的访问令牌进行授权。用户输入他的凭据,Web 应用程序将它们发送到 API 以获取访问令牌。我认为,网络应用程序可以使用此访问令牌进行授权,但我现在不知道如何在 asp.net 核心中设置中间件。

背景:web 应用程序和 web api 应该在不同的服务器上运行,稍后我想创建使用 web api 访问数据的移动应用程序。这就是我想使用令牌的原因。我希望 web api 成为唯一可以访问数据库的项目。

编辑更多背景:该网络应用程序是一个 mvc 6 应用程序,具有标准用户功能:注册、登录、注销、电子邮件确认以及与用户生成内容的一些交互。所有这些内容都应该存储在数据库中。因为我以后可能需要添加一个移动应用程序,所以我想要一个单独的 web api 来存储和访问数据库中的数据。Web api 的唯一目的是处理数据访问。mvc web 应用程序应该与 web api 通信以获取和存储数据。用户必须经过身份验证才能使用 Web 应用程序,并且 Web 应用程序必须经过身份验证才能访问 Web API。没有第三方应用,这让我想到了密码流程。我想,用户在 Web 应用程序中输入他的凭据以从 Web api 获取访问令牌。我的计划是,访问令牌存储在 cookie 中,以便 web 应用程序可以在需要时使用它来访问 web api。我也可以使用此访问令牌在 Web 应用程序上进行身份验证和授权吗?也许像创建一个自定义SignInManagerUserManager,或授予 Web 应用程序数据库访问权限并使用标准 asp.net 身份。还是有其他更好的解决方案?

0 投票
1 回答
77 浏览

c# - 自动构建主机代理

我有一个带有单个 asp.net 核心控制台应用程序的解决方案。它在本地和 TFS 上的托管代理上构建。我想在 GitHub 上使用一个项目 ( OpenIddict ),下载它并将其添加到我的解决方案中。我创建了一个 NuGet.Config 文件,这是 OpenIddict 所必需的。它在本地构建良好,但在托管代理上构建时,无法解析 OpenIddict 的依赖项(例如:AspNet.Security.OpenIdConnect.Extensions)。

背景:我对自动化构建非常陌生,并且只使用可用的在线工具而不在机器上安装 tfs。我尝试了不同的构建定义,但没有一个成功。随意询问更具体的信息,因为我不确定什么是相关的。