问题标签 [identityserver4]
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.
identityserver3 - IdentityServer4 缺少版本 3 中已知的属性
我正在尝试设置 IdentityServer 4 (1.0.0-rc2) 服务器。我已经按照文档 ( http://identityserver4.readthedocs.io/ ) 中的说明进行操作,但它似乎缺少一些我在 IdentityServer3 中熟悉的功能。
我发现了这篇关于 IdentityServer4 的文章 ( http://elemarjr.com/en/2016/04/18/learning-identityserver4-part-1-securing-an-webapi/ ),但是文章中展示了一些东西在最新版本中似乎不可用(我猜那篇文章是针对旧版本编写的)。
我发现为了设置证书,而不是在 IdentityServerOptions 对象中设置它,我需要直接在 builder 对象上设置它。所以不要这样做:
我现在这样做:
- 我似乎找不到的是如何定义
RequireSsl
属性。 - 如何设置
IdentityServerFactory
设置?
有没有一个地方包含更多关于 IdentityServer4 的文档?
asp.net-identity - 使用测试数据初始化数据库时,“ClaimsIdentity.BootstrapContext”无法映射错误
我正在尝试使用 IdentityServer4 设置授权服务器。当我尝试运行一段代码来生成测试数据时,出现以下错误。下面是代码
错误是在什么时候产生的
被执行。
下面是生成的错误
Source=Microsoft.EntityFrameworkCore StackTrace:在 Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.OnModelBuilt(InternalModelBuilder modelBuilder) 在 Microsoft.EntityFrameworkCore.Infrastructure 的 Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.PropertyMappingValidationConvention.Apply(InternalModelBuilder modelBuilder)。 System.Collections.Concurrent.ConcurrentDictionary 中的 ModelSource.CreateModel(DbContext 上下文,IConventionSetBuilder 约定SetBuilder,IModelValidator 验证器)2.GetOrAdd(TKey key, Func
2 valueFactory) 在 Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel() 在 Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value() 在 Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider) 在 Microsoft.Extensions。 DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) 在 Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) 在 Microsoft.EntityFrameworkCore.DbContext.get_Model() 在 Microsoft.EntityFrameworkCore.DbContext.SetTEntity 在 ReportBook。 C:\Users\Julius\Documents\Projects\School\Development\ReportBook\ReportBook.Auth\Startup 中的 Auth.Startup.InitializeDbTestData(IApplicationBuilder 应用程序)。c:\Users\Julius\Documents\Projects\School\Development\ReportBook\ReportBook.Auth\Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 的 c:line 166:line 233内部异常:
以下是我的启动课
我将不胜感激
asp.net-core - IdentityServer4 密码授予
我已经建立了一个 identityserver4 实例、一个 API 项目和一个 UI。
工作流程如下:
- 用户访问 UI。
- 用户向 UI 提供用户名和密码。
- UI 将凭据发送到 Web 应用程序的背面,该应用程序使用密码授权来使用 IdentityServer4 对用户进行身份验证。
- IdentityServer4 返回一个令牌。
- 令牌用于识别用户对 UI 的身份以及用户有权访问网站的某些部分。
- 当用户需要在站点内做某事时,令牌会通过不记名身份验证传递给 API。
密码授予不可协商,因为这是第一方应用程序,将用户重定向到主站点是没有意义的。
用于此的正确中间件集是什么?我应该只使用 CookieAuthenticationMiddleware 并将令牌作为声明附加吗?我需要从 HttpContext.User 声明中访问声明。我需要使用 IdentityMiddleware 吗?
https - 将 https 与 IdentityServer4 快速入门一起使用会挂起
我正在尝试学习 IdentityServer4,所以我从这里的文档开始https://identityserver4.readthedocs.io/en/dev/quickstarts/0_overview.html并以这个https://identityserver4.readthedocs.io/en/dev/结束快速入门/1_client_credentials.html。
只要我使用http,一切都很好,但是一旦我切换到使用https,客户端测试器中的第一行代码
挂起并最终获得任务取消异常。
如果我只是将所有内容切换回 http,它就会重新开始工作。
在实际的 IdentityServer 解决方案中,我在 launchSettings.json 中更改了 applicationUrl 和 launchUrl:
和 Program.cs 中的 .UseUrls
在客户端解决方案中,如上所述,我将调用发现端点的代码更改为使用 https 而不是 http
需要明确的是,只需将所有注释的项目从 http 和 https 更改为 http,但不适用于 https。我的两次测试之间没有其他变化。
有什么我遗漏的东西导致 https 无法工作吗?
asp.net-mvc - 将自定义 SQL Server 数据库与 Identity Server 4 一起使用
我有一个要求,我有一个客户端应用程序,即(MVC 应用程序)和 Identity Server 4 应用程序,我需要从 MVC 应用程序对用户进行身份验证。
现在我可以使用 Identity Server 4 对 In Memory 静态用户和 AspNetIdentity 用户进行身份验证。
但是如何使用我的自定义数据库和 Identity Server 4 来验证用户。
例如,我有一个包含以下列的表格:
我想使用 Identity Server 4 对该表中的用户进行身份验证。请帮我解决这个问题。
谢谢,纳文
c# - 使用 IdentityServerAuthentication IdentityServer4 进行集成测试
就像这个问题“与内存中的 IdentityServer 进行集成测试”一样,我想对我的 IdentityServer4 实现进行一些集成测试。
我已经按照本教程IDENTITYSERVER4、WEB API 和 ANGULAR2 在一个 ASP.NET 核心项目中添加了一个 API,用于在与我的 IdentityServer4 相同的项目中管理用户。
但是集成测试失败了,因为 IdentityServer 尝试使用 HTTP 请求调用 discoveryEndpoint。
所以在这个问题“ Integration testing with in-memory IdentityServer ”中,@emedbo 创建了一个 FakeAccessTokenValidation,但我不知道该怎么做。
谢谢。
asp.net-core - IdentityServer v4 的 ASP.NET Core 客户端中的通知
在 IdentityServer 3 中,我使用SecurityTokenValidated
Notifications 上的事件来建立我自己的带有名称和声明的身份。例如,我access_token
使用这样的资源所有者工作流程存储以供以后访问 n API:
在 ASP.NET Core 的 IdentityServer 4 中,不是 Notifications 属性。我可以看到自动生成了很多声明,但我没有得到,access_token
也没有自动设置身份的用户名
我当前在 ASP.NET Core 中的客户端配置如下所示
IdentityServer 4 中的预期方式是什么?
asp.net-web-api - 如何使用 IdentityServer4 访问我当前的用户?
我正在尝试构建一个 SPA Web 应用程序 + IdentityServer4 + ASPNET Core + ASPNET Core Identity。我已经按照 Identityserver 文档的快速入门进行了操作,它真的很棒。我对快速入门Identity Server Quickstart with JS Client更感兴趣
我一直跟着它,到目前为止一切都很好。现在我向我的用户添加了一些字段和相关表,如下所示:
这是解决方案资源管理器
我想创建一个显示我的用户及其相关表/字段的页面。(基本上,我的问题是,我如何访问我当前的用户并公开一个 API 供我的 JS 客户端使用)
我该如何做到这一点?(以下所有描述点我只是在网上阅读,我不知道如何实现它)
- 我应该将我的用户存储在会话中吗?然后从那里访问它?
- 我应该使用 connect/userinfo 端点吗?
请指教。
asp.net-identity - AspNet Identity 如何生成用户声明
我有一个使用 Typescript 实现的单页应用程序的场景,该应用程序使用 oidc-client 从使用 IdentityServer4 的 AspNet Core 应用程序获取 id_token 和 access_token。
在身份服务器上,我还将身份与 EntityFramework 一起使用,以便我可以检索用户及其个人资料以生成声明等。
我面临一个奇怪的情况,例如,我正在为FirstName
用户更新,它在数据库中得到正确更新,但是在生成用户级别声明(given_name
、、和)时family_name
,given_name 没有用新名称更新,因此发出的 id_token 不会包含声明中的更新信息。name
email
我有这样的事情:
为什么await _userManager.GetClaimsAsync(user);
忽略用户的更新信息?从哪里获取旧信息?
我已经重新启动了应用程序,删除了浏览器 cookie,以防它存储在身份服务器为单点登录目的而发出的 cookie 中。但我仍然不知道旧信息的缓存位置。
更新 1:这是用户模型。
更新 2:有一个明显的解决方法,即手动添加来自用户属性的声明,而不是依赖于身份的 UserManager。但问题仍然存在,为什么 userManager 不检索数据库中的更新值?它在哪里找到检索到的旧值?
asp.net - 使用 IdentityServer 的 AspCore 客户端全局注销
在非核心 asp mvc 应用程序中,我有一个控制器操作用于注销用户全局
看起来像这样
现在我有一个 asp 核心客户端,想要注销我试过
更新
现在好像我注销了,但我被重定向到需要身份验证的站点。我可以看到我很快又被重定向到身份服务器,它会自动再次向我唱歌。
总结:我在我的 asp 应用程序中登出,但没有在身份服务器上登出。
我怎样才能全局注销?所以我需要在身份服务器上登录?