问题标签 [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.
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作为中间件。
asp.net-core - 具有双重身份验证的 OpenIddict
好吧,标题几乎解释了这一切,但这是我想要做的:
我正在开发一个需要支持 JWT 身份验证的 ASP.NET Core 1.0 应用程序。使用 OpenIddict 很容易做到这一点,但 OpenIddict 是那些“在后台神奇地工作”的框架之一。
我想保持 OpenIddict 的简单性,但通过使用 Identity 和它的双因素身份验证功能而不仅仅是用户名/密码登录来改变它的默认行为。
我还没有找到向 OpenIddict 提供自定义登录管理器的方法。有没有人有这方面的经验?
asp.net-core - OpenID 连接服务器。基于 3-rd 方令牌(社交登录)生成访问令牌
我已经实现了 OpenID Connect 服务器,它使用OpenIddict根据用户名/密码为移动客户端生成访问令牌。我的下一个目标是提供使用 3-rd 方令牌(例如社交登录)生成访问令牌的能力,我从与 Google 令牌集成开始,但由于找不到任何有关如何执行此操作的示例/信息而陷入困境。
我目前唯一的想法是向“/connect/token”端点发出请求并以“code”参数发送谷歌令牌,例如以“google:”格式,然后覆盖OpenIdConnectServerProvider.DeserializeAuthorizationCode方法:
收到授权码时调用。应用程序可以使用此上下文使用自定义格式反序列化代码,并使用以下方式跳过默认逻辑
所以我创建了自己的CustomProvider
类OpenIddictProvider
,注册它
并覆盖该DeserializeAuthorizationCode
方法:
whereGoogleTokenValidator
是用于 Google 令牌处理的自定义类(它调用 Google 用户信息端点并生成 ClaimsPrincipal),基于aspnet/Security repo 中GoogleHandler类的“复制粘贴”代码。
总的来说,它正在使用一些额外的技巧,但我有强烈的感觉,重新发明轮子......
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 端点?
ldap - 是否可以同时使用 OpenIddict 和 LDAP?
我想使用 LDAP 针对 Active Directory 对用户进行身份验证。OpenIddict 可以吗?
目前,我有前端(Angularjs)+ 后端(Web.API 与 ASP.NET Core 和 OpenIddict),效果很好。部分用户使用个人用户帐户,他们将继续使用。另一部分用户应该使用AD帐户。它位于内部网络内部,并希望为此使用现有的 Active Directory。
请为此提出任何解决方案。
谢谢。
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.
asp.net-core - 使用 OpenId Connect 进行基于声明的身份验证
我将 ASP.NET Core 与 OpenIddict、JWT、资源所有者授予和基于声明的角色一起使用。不执行任何策略的授权按预期工作。
我想对某些控制器和操作方法强制执行授权策略。我所有的用户都有角色声明,所以我在 Startup 中做了以下操作:
我对 action 方法做了以下操作:
没有“管理员”,我可以访问资源,添加“管理员”后我不能。
我假设因为我生成的 JWT 令牌没有用户声明。
- 我的 JWT 是否应该包含用户角色声明以使令牌起作用?
- 如何使用 OpenIddict 发送角色声明?
asp.net-core - OpenIddict 在令牌响应中获取用户 ID
将 ASP.NET Core 与 OpenIddict 密码授予一起使用。
调用身份验证端点时,我得到以下信息:
如何在响应中包含用户 ID?我可以在解码的令牌中看到它,但我的用户应用程序不会对其进行解码。
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 应用程序上进行身份验证和授权吗?也许像创建一个自定义SignInManager
和UserManager
,或授予 Web 应用程序数据库访问权限并使用标准 asp.net 身份。还是有其他更好的解决方案?
c# - 自动构建主机代理
我有一个带有单个 asp.net 核心控制台应用程序的解决方案。它在本地和 TFS 上的托管代理上构建。我想在 GitHub 上使用一个项目 ( OpenIddict ),下载它并将其添加到我的解决方案中。我创建了一个 NuGet.Config 文件,这是 OpenIddict 所必需的。它在本地构建良好,但在托管代理上构建时,无法解析 OpenIddict 的依赖项(例如:AspNet.Security.OpenIdConnect.Extensions)。
背景:我对自动化构建非常陌生,并且只使用可用的在线工具而不在机器上安装 tfs。我尝试了不同的构建定义,但没有一个成功。随意询问更具体的信息,因为我不确定什么是相关的。