我有一个ASP.NET核心MVC应用程序,它使用IdentityServer 4作为身份提供者。为了帮助调试,我将IdentityServer cookie设置为5分钟后过期,并将MVC应用程序中的会话超时设置为2分钟
在MVC应用程序的中间件管道中,我在app.UseAuthentication()之后有一个“RefreshTokenMiddleware”使用以下代码:
if (!httpContext.User.Identity.IsAuthenticated || httpContext.
是否可以以管理员身份从ID4获取用户标识
例如,Bob登录并同意访问“我的电影应用程序”。当Bob登录时,他的clientid和个人资料将独立保存到My Movie应用程序数据库中
稍后,“我的电影应用程序”需要通过bob的电子邮件或电话与bob联系,因为bob忘记付款,而会计现在正在跟进。然而,Bob已经改变了与身份提供商的电子邮件和电话
“我的电影应用程序”具有Bobs clientid,但在生成过期联系人列表之前,想询问identity server Bobs配置文件是否有任何更改
有没有
我注意到jwt中的“idp:local”。将idp索赔值从“本地”更改为“FooIDP”的最佳方式是什么
正在处理Identity Server 4的Quickstart3\u ImplicitFlowAuthentication quickstart示例。不确定这是否是最佳方法,但看起来您需要在AccountController::Login中更改对SignInAsync的调用
旧的:
wait-HttpContext.Authentication.SignInAsync(user.Subje
我对MVC/Webforms场景中带有引用标记和内省端点的用例有点困惑
我的基本问题是,为什么内省端点仅设置为允许来自ApiResource凭据(api1/apisecret)的身份验证请求,而不允许客户端凭据?我可以将下面的代码与ApiResource凭据一起使用,我只是未经授权使用客户端凭据。我认为这是设计好的
我想让我们的系统管理员能够撤销令牌并强制注销用户。我的计划是使用CookieAuthenticationProvider的OnValidateId实体定期验证引用令牌,并在需要时强制
在IS4网站上提供的用于调用web API(函数CallApiUsingUserAccessToken)的示例中,它在每次请求时都创建一个HTTP客户端。我在网上看到,如果服务器使用这种方法接收到太多的请求,您可能会遇到问题
我们是否可以以某种方式声明http客户端的静态属性并分配承载令牌
如果我声明静态httpclient并使用SetBearerToken扩展,理论上我的令牌可以被后续请求使用。如果你想使用共享httpclient,你需要自己创建HttpRequestMessage并设置每条消
我们已将Identityserver3升级为Identityserver4,并在API端点中使用Identityserver3.AccessTokenValidation来验证jwt令牌
升级后,我们无法验证IdentityServer3颁发的令牌
通过使用选项LegacyAudienceValidation=true,我们可以使用IdentityServer4.AccessTokenValidation;支持来自Identityserver3和Identityserver4的令牌
Identi
我们有一套由Asp.NETMVC网站、单页应用程序和Asp.NETWebAPI组成的应用程序。我们计划使用Identity Server 4来保护它们。但在我们继续之前,我们想知道这是否是NIST的投诉?它会在安全审计期间产生任何问题吗
升级之前,我能够使用Azure AD和本地数据库用户(Alice和Bob)成功登录。
当我将IdentityServer4 nuget包从3.1.3升级到4.0.2,然后使用powershell命令或“dotnet new is4ui”时,我就能够编译我的应用程序了
当我运行它时,我得到错误“Scope not found in store.”。然后,我将其添加到启动方法中的AddInMemoryApiScopes
当我运行应用程序时,当我以Alice或Bob的身份登录时,会得到“无效用户名或密
在使用IdentityServer4和OIDC客户端的SPA环境中,对多个外部提供商执行以下操作的最安全的方法是什么
基本上,如果用户登录谷歌,我需要登录我的内部系统并创建新的声明。这必须在第三方回调后的服务器端完成。在SPA中,IdentityServer4中最安全的配置是什么
流量:
用户在SPA中登录Google(调用oidcManager.SignInDirect)
Google重定向回SPA(cal new Oidc.UserManager().SignInDirectCallback
我想使用IdentityServer4作为我自己的web应用程序的通用登录名
并不是所有的用户都可以自由使用所有的应用程序,很明显,我可以让所有的应用程序都拒绝不允许访问它们的用户
不过,在identity server中集中一个常见的“此应用程序不是为您激活的”页面似乎有点优雅。这样,我只需要实现该页面一次。identity server必须知道哪个用户可以访问哪个客户端,但在我的场景中这是合理的:它们都是我自己的应用程序
我不确定什么地方适合参加考试。它不能是登录页面,因为用户可能已经从他有
假设在ID4重新启动的这段时间内,用户登录并获得2小时到期的访问令牌(引用)。此时访问令牌是否有效
(我没有使用实体框架),而是我自己的“IResourceOwnerPasswordValidator”实现
如果是,如何以及在哪里?
如果没有,您知道如何通过ID4设计克服这一问题吗?令牌是一种持久化的类型,由IPersistedGrantStore接口的一些实现管理。它没有很好的文档记录,只是在部署主题的一节中提到过,但它相对简单。我不喜欢实体框架,幸运的是Identity Server per
在以下上下文中,我对Identityserver4有一些疑问:
我有许多域(domainA、domainB、domainC等),我希望所有域都使用IdentityServer 4进行身份验证,但我只希望IdentityServer 4的一个实现(使用asp.net identity和EF),并让所有域将此实现用作客户端。所有域都位于以MS SQL作为数据库的托管环境中(如果相关的话)
问题1:
IdentityServer4是否可以在domainA的子文件夹/区域中运行,如果可以,则需要采取哪些
我们使用IdentityServer4对.net core 3 MVC应用程序进行访问控制(稍后我们还将添加一个单页应用程序),其中我们有一个唯一标识符作为初始登录页的参数。
我们如何获得注销后重定向以返回到带有上一次登录的参数的登录页面?
谢谢在您的登录控制器或应用程序中间件中设置一个存储中间数据的cookie。在web应用程序中,这种数据通常称为闪存数据。注销请求完成后,使用闪存数据将其发送到需要的位置。我不熟悉identity server 4,但我确信这是可以在.net中轻松实现的。您能
在多台服务器中安装IdentityServer4以实现负载平衡时,我遇到了一个问题。问题在于,每次负载平衡器切换到另一台IdentityServer4服务器时,客户端/用户都会收到无效令牌异常。这是有道理的,因为行中的下一个IdentityServer4没有发出有问题的令牌
显而易见的解决方案是将令牌存储在与所有IdentityServer4服务器共享的数据库中。但是,我还没有找到关于如何针对数据库或任何其他存储类型验证传入令牌的任何信息。IdentityServer4似乎在后台验证来自客户端/
Identity Server正在按预期工作。我可以登录和注销用户。但是LogoutRequest对象上的PostLogoutRedirectUri属性总是返回为null
我的SPA客户端配置:
{
ClientId = "pokemon",
ClientName = "Angular Pokemon Client",
AllowedGrantTypes = GrantTypes.Code,
我正在使用IdentityServer4手动创建令牌:
var token = await _tools.IssueClientJwtAsync(
clientId: "client_id",
lifetime: lifetimeInSeconds,
audiences: new[] { TokenHelper.Audience },
additionalClaims:new [] { new Claim("some_id", &q
在发现ASP.NET核心模块充当SSL终止符,因此总是在http上托管之后,我的问题是如何将来自https地址的消息正确传播到IdentityServer。如果您已将标题X-Forwarded-Proto或X-Forwarded-Schema设置为https值,是否不应拾取该值?从您的BaseUrlMiddleware.cs代码中可以看出,您通过读取Httpcontext.Request.Scheme设置了SetIdentityServerOrigin,ASP.NET核心模块后面始终是http。
我将OIDC与响应类型为“id\u token”的隐式代码流一起使用。一切都很好,但注意到带有访问令牌、id_令牌、作用域和会话状态+域名的回调url已经包含2033个字符。我正在进行的项目需要支持IE10,据我所知,URL限制为2048个字符。我不担心回调url的长度会危险地接近这个限制。
对于这样的案例,建议采用什么方法?我是否可以将响应类型更改为“令牌”,然后从用户信息端点请求用户信息?或者我应该做些什么来减小回调url的大小,尝试减少access\u令牌和id\u令牌中的信息?第三个选项
当我尝试从WinForms应用程序登录到IS4时,我获得了无效的授权
这是服务器日志:
fail: IdentityServer4.Validation.TokenRequestValidator[0]
Unexpected code_verifier: 12a783b32873a5b4ae0eb7113a067cd978d3d345a8cb29cc0a1a6df131c5839a
fail: IdentityServer4.Validation.TokenRequestValid
我已经创建了identityserver4项目,并尝试在用户登录后添加更多声明。这是我的密码
public async Task<IActionResult> Login(LoginInputModel model)
{
if (ModelState.IsValid)
{
// validate username/password against in-memory store
我们使用IdentityServer4管理用户身份和登录。在商业领域,有些公司被划分为多个组织。公司通过唯一标识符进行区分,而组织标识符可能在不同的公司之间发生冲突,这使得只有公司ID和组织ID的组合是唯一的
一个普通用户通常只能访问一个公司中的某些组织,但需要超级用户访问多个公司中的组织。IdentityServer中的声明最初仅为一家公司设计,因此没有真正考虑多家公司应如何融入其中
对于一个普通用户来说,他可以有一个公司声明和一个或多个组织声明。但对于需要访问许多公司的许多组织的超级用户来说
我正在尝试执行以下操作:
var builder = services.AddIdentityServer(
options => { options.IssuerUri = "https://boo.com"; })
.AddExtensionGrantValidator<LPDelegationGrantValidator>()
.AddProfileService<ONB
我使用的是Identity Server 4附带的,在允许访问API端点时遇到问题
我已经使用ABP配置了一个拥有API资源的客户端,并且我能够成功地请求一个承载访问令牌,它包含了我期望的范围
问题是我似乎无法使用承载令牌来访问我的API端点。发生的情况是,我的请求被重定向到默认登录页面,并且API端点没有被命中
我尝试了许多不同的方法,包括用[Authorize]标记修饰API端点方法
部分问题是ABP抽象掉了Identity Server的一些内容,因此默认教程()似乎并不完全适用。我会注释
我正在使用identity server 4,我知道它现在位于ASP.NET Core上,而且还可以
但是我有一个在.NET4.6.2上的应用程序。我想知道如何保护这些API。还是有可能?或者我应该将我的web API更改为ASP.NET Core
我到处都搜索了,但是所有的示例都是ASP.NET内核。Identity Server 4不关心客户端是什么。如果需要,您可以使用控制台应用程序测试ID4,对吗
你看,归根结底,所有ID4基本上都是一个RESTWebAPI本身,在HTTP协议之上使用O
是否有一种方法可以配置Identity Server 4,使其在生成的令牌中自动包含JTI(唯一标识符)声明?这比我最初想象的要容易
对于每个identity server客户端实例,都有一个默认为false的“IncludeJwtId”属性。如果希望访问令牌中包含JTI,则需要将其设置为true
这比我原来想象的要容易
对于每个identity server客户端实例,都有一个默认为false的“IncludeJwtId”属性。如果希望访问令牌中包含JTI,则需要将其设置为true
文档现在显
每次重新启动应用程序时,我都有无效的引用令牌
似乎还有其他看似随机的场景,其中令牌对一台服务器有效,而对另一台服务器无效。我在哪里可以找到这些信息
在这种情况下,日志是无用的,因为它们只是说“无效引用令牌”
然后右下方会显示“reference token validation success”,相同的标记,不同的框。重启时发生的事实可能意味着内存中存储了一些内容。对于JWTs,它将是签名密钥,对于引用令牌,它将是持久授权。正如另一位评论者所问的,您是否为所述授权实现了持久存储 您是否有IPer
我还有一个叫做“spn”的附加索赔。它被配置为配置文件标识资源表上的声明。当我检查身份令牌时,在那里找不到它。我使用了内置的配置文件服务以及定制的配置文件服务,并获得了相同的结果。我在那里配置并填充在用户声明表中的所有其他声明都正常工作
中是否存在阻止此非标准声明的内容,或者我需要在其他地方对其进行配置的内容
我正在使用最新版本的identity server和EF作为后端,使用ASP.net identity处理用户帐户。我刚刚截获了OnUserInformation Received事件。我
我正在使用IdentityServer4为我们的环境构建SCA。
现在,每个用户都有一个或多个唯一的资源,我希望这些资源显示在同意屏幕上,以便用户同意在我们的环境中阅读
我正在使用IS4EF进行数据存储。
我还添加了一些端点,用于向数据库添加数据。
但我对如何继续感到困惑
账户是否应该有一个通用的范围?还是每个帐户有一个范围?
一个用户可以有多个同名但数据不同的声明吗
实现这一目标的最佳实践是什么?我不明白到目前为止您构建了什么,但我认为您正在使事情变得复杂
将资源视为1到n个api的逻辑组。其
我刚开始使用identity server,现在正在快速入门(提前为noob问题道歉!)
我的疑问来自这样一个事实,即在文档站点上的所有快速入门中,客户机机密都以明文形式出现在代码中,甚至在使用EF和asp.net标识存储配置和用户凭据的示例中也是如此
我的直接反应是,在代码中存储秘密是不允许的,但我可以看到缓解情况取决于我们所讨论的客户端类型,例如,如果客户端是托管mvc webapp,那么代码理论上在托管服务器上得到了很好的保护,但如果它是桌面客户端,则更容易受到反编译等攻击
我浏览了所有的
我正在尝试使用Flurl调用Identity Server 4
我从ID服务器上得到一个400。
当我使用PostMan或IdentityModel.Client中可用的方法进行调用时,凭据等会起作用
我对Post(即PosterEncodeAsync)不确定
正如你所看到的,我尝试过各种组合
这个。。不起作用
var address = "http://localhost:8027/connect/token";
var x = await address
.WithBasicAuth("cl
我无法确定如何在IdentityServer4实现中实现自定义身份验证,该实现将针对active directory进行身份验证。注意:我需要对我公司的active directory服务器进行身份验证,它不是azure active directory
我不清楚是否需要创建一些新的中间件,并在ASP.NET核心服务器中使用IAApplicationBuilder添加它,或者是否需要向IdentityServer本身添加一些内容
我找到了另一个描述如何与active directory集成的链接
必须仅将Identity Server与ASP.NET核心一起使用
我们可以将Identity Server 4与ASP.NET 5一起使用,并提供完整的.NET framework支持吗?ASP.NET 5是ASP.NET Core(ASP.NET 5是不推荐使用的名字),是的,Identity Server 4仅与ASP.NET Core一起使用,但如果需要,您可以在完整的framework之上使用它
另一个选项是在ASP.NET 4.x“aka”MVC 5“aka”WebApi 2.x上运
Mashery与第三方OAuth2/OpenID连接提供程序配合得好吗?是否可以将其配置为允许OAuth2令牌通过?如果是这样,那么使用不同的身份提供者会损失多少mashury功能
我目前正在使用IdentityServer4,但不久将使用Mashery,我想了解两者的含义。您是否在问Mashery是否支持外部方生成的oAuth令牌
答案是否定的。我认为他们没有任何计划很快实施
我想设置一个连接到azure ad的identity server,但我想在identity server中使用自定义登录页,这可能吗
我知道Azure AD允许定制品牌,但它不允许我们需要的定制类型。虽然Azure AD不直接支持UI定制,但Azure AD B2C支持。请参阅此Microsoft文档作为定制Azure AD B2C用户界面的指南:
如Microsoft文档中所述,最简单的模板如下:
<!DOCTYPE html>
<html>
<head&
我们最近开始使用IdentityServer4,我读到了ASP.NET Core中的数据保护,我很困惑如果我使用IdentityServer4,是否还需要保留会话数据。我们计划在负载平衡器后面运行多台机器。谁能给我指一下正确的方向吗?我有点不知所措,不知IdentityServer4是否会处理客户端会话信息?多谢各位
您是指负载平衡器后面的identityserver应用程序还是client应用程序。如果你指的是客户端应用程序,请指定你使用的身份验证方法(cookie或bearer)。只有客户端
我使用的是IdentityServer4、AspnetCore 2.1和angular 6客户端
除了对userinfo端点的调用之外,一切正常
通过查看我的日志,我发现以下几行代码可能是如何处理错误的指针。到目前为止,我还没有成功
StsServerIdentity> Profile service returned the following claim
types: sub name given_name family_name email role sub role
正在尝试使用Visual studio 2019学习IdentityServer教程
根据说明创建了一个.Net核心Web应用程序,然后创建了一个MVC项目类型,根据教程,IdentityServer的欢迎屏幕应该在运行时出现
但我得到的MVC页面模板只有这样
基于新的visual studio更新的项目模板是否存在任何差异?或者,要使窗口与第一个图像相似,正确选择的项目类型是什么?您似乎正在运行mvc应用程序,而不是身份提供程序服务
转到解决方案属性、公用属性,然后选择多个启动项目。然后将
我正在使用IdentityServer4为我的新服务提供身份验证和令牌生成,我已经成功地实现了这一切。我已将我的服务器配置为使用Azure AD作为oidc提供程序,该提供程序在我的登台环境中正常工作,因为Azure AD的ip地址已在防火墙中配置。今天,该ip地址似乎已更改,因为我的代码无法调用Azure AD以获取openid众所周知的配置()
我使用以下代码配置提供程序:
services.AddAuthentication()
.AddOpenIdConnect(
在我的例子中,我有几个EF上下文共享同一个数据库(即,所有表都在同一个db上),我希望在所有上下文之间共享同一个SqlConnection,这样我就可以在同一个事务中应用多个更改
为了实现这一点,我首先用以下代码注册SqlConnection:
services.AddScoped(sp => new SqlConnection(Configuration.GetConnectionString("DefaultConnection")));
完成此操作后,我更改了其中一个EF上下文,以
我正在Blazor WASM client/API后端的一个项目中工作,其中IdentityServer4用于身份验证,Dapper用于访问自定义用户存储的数据。大部分代码是直接从下面的文章中窃取的
我已经为User、Role、UserStore、RoleStore和SignInManager实现了自己的类,并在IdentityServer4 Quickstart项目的启动中注册了它们,如下所示:
services.AddIdentity<CustomUser, CustomRole&g
我已经用谷歌安装了我们的IS4服务器。登录时一切正常。现在有一个我似乎无法解决的问题。当使用谷歌时,它将用户名作为一个数字提供给我。这是意料之中的。如何获得用户登录时的正确显示名称?正确的方法是什么?现在我正在使用IdentityServer4.Extensions.PrincipalExtensions.GetDisplayName()来显示名称,并显示GoogleId
我想使用IdentiyServer4并添加用于SAML身份验证的KentorAuthServices中间件
从中,建议添加Microsoft.AspNetCore.Authentication.Cookies包,并使用登录类型为IdentityServerConstants.ExternalCookieAuthenticationScheme的中间件
我配置了相同的,但无法在变量info中获取访问令牌
public async Task<IActionResult>
我开始使用Identity Server 4(在ASP.NET核心下)使用隐式流来保护Angular 2前端(到Web API服务)
使用,我可以成功地从示例的默认页面重定向到登录页面,让用户进行身份验证,然后重定向(通过/connect/authorize)返回Angular站点的回调
如果用户直接浏览到我的身份验证登录页面(而不是Angular主页),我就可以进行身份验证,但无处可重定向。如果手动重定向到auth服务器的/connect/authorize页面,OIDC客户端将报告“在存储中
我对使用identityserver4有点陌生,过去几天我读了一些文章,遇到了一个问题,或者可能只是我的知识不够;无论如何,我的问题是:
根据我的理解,我将构建一个angularjs应用程序,我应该坚持隐式授权类型,现在我关心的是我正在构建的应用程序首先验证它的用户(用户名-密码),但该用户将属于一个客户端,这样可以吗
通过查看Startup.cs中我当前正在使用或引用的一个示例上的大量示例应用程序,可以配置其具有的方法:
app.UseOpenIdConnectAuthentication
在我配置EntityFramework代码不工作之后,我只是喜欢这个页面中的doc
正如文档在最后一页所说,“您现在应该能够运行任何现有的客户端应用程序并登录、获取令牌和调用API–所有这些都基于数据库配置。”。但当我运行控制台应用程序时,我看到以下内容,无论服务器信息看起来是否正常,这都是正确的。我确信我在启动客户端之前启动了服务器。我无法找到谷歌和堆栈溢出的原因或相关内容。我想知道“密钥集丢失”的含义是什么,以及如何修复它 您是否添加了以下内容
public void ConfigureSe
我已经为一个asp.net mvc网站设置了identityserver 4,并将其用于身份验证隐式授权类型。我需要有令牌更新时,用户修改帐户的配置文件,但它不是索赔
一切都在愉快的道路上运行良好,客户验证,然后重定向回网站,索赔通过-一切都很好
我的网站有一个链接,将用户发送回IdentityServer,以便更新配置文件名、电子邮件、电话等,但一旦完成并将用户发送回网站,则不会使用新信息更新声明
我可以看到我的用户索赔工厂正在从配置文件服务中调用,并且新的配置文件信息正在索赔中设置,但是我的
假设我打开了两个应用程序,每个选项卡中都有一个,它们都使用相同的SSO服务器。用户在应用程序A中全局注销前端频道,但应用程序B在另一个选项卡中保持打开状态。前端频道负责擦除cookies,但理想情况下,会有一种方法将应用程序B重定向到“您已注销”页面。然而,由于不可能通过javascript检测HTTPOnly cookies,因此在应用程序B的选项卡中运行的javascript如何检测cookie的删除并指导用户?我想我们也可以编写一个非HTTPOnly cookie并对其进行监控,但我认为可
似乎定义的PersistedGrant表创建脚本与IdentityServer4的代码不同步。我已将该脚本应用于我的数据库,并按照所述配置了持久性,但当我测试登录时,出现以下错误:
SqlException:列名“ConsumedTime”无效。
列名“Description”无效。
列名“SessionId”无效
堆栈跟踪在以下代码行中显示了这种情况:
IdentityServer4.EntityFramework.Stores.PersistedGrantStore.StoreAsync(P
我对IdentityServer4使用is4aspid模板。当服务器收到名为AccountController.Login的连接/授权请求时。问题。在哪里可以看到所有默认路由?注销示例?我能换一下吗?例如,当收到名为OtherControl.MyLogin的“连接/授权”时
在哪里可以看到所有默认路由
有一个发现端点,用于检索有关IdentityServer的元数据
它返回诸如发行人名称、关键材料、支持的范围等信息。。。您可以在那里看到端点(令牌端点、用户信息端点等)
运行IdentitySer
我是IdentityServer的新手,正在尝试按照文档在我的Windows 10桌面上设置Quickstart VS.Net解决方案。按照说明下载和安装源代码并在VS.Net 2017中打开解决方案后,我注意到NuGet依赖项—IdentityServer4(4.0.0)和Serilog.AspNetCore(3.2.0)—都已损坏。编译解决方案时返回一个错误:“NETSDK1045当前的.NET SDK不支持以.NET Core 3.1为目标。目标为.NET Core 2.1或更低版本,或者
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 14 页