我在前面提到了我在访问资源服务器时遇到的困难。我刚想到我的同意页面没有显示“应用程序访问”部分。它只显示“个人信息”部分。
当我检查scopes表时,我看到了其中所有可用的作用域,但是资源作用域的一些内容没有显示在同意页面上
我倾向于相信,这很可能是我不幸的原因
我将以下内容用于我的开发
VS 2015更新3
标识服务器4 rc 2
角2
我的资源服务器和身份验证服务器位于不同的项目中
我也在关注这个和这个样本
如何显示“应用程序访问”部分?我认为同意页仅用于标识范围而不是资源范围。他们在那
我正在关注IdentityServer4中的快速入门。当我实现“切换到混合流并添加API访问返回”教程时,我发现获取访问令牌的方法是:
ViewContext.HttpContext.Authentication.GetTokenAsync("access_token")
没有。有人知道我必须用什么方法吗?谢谢。问题是,在我的MVC控制器中,我使用了Microsoft.AspNetCore.Authorization的。此库允许使用[Authorize]属性,但有自己的HttpContext.
我有三个项目和两个环境
带有.Net标识的IdentityServer4(标识上下文)
.Net API(业务上下文)
Js客户端(角度)
我对实施注册有一些想法
当用户单击Js客户端中的注册按钮时,重定向到IdentityServer/Account/register url。用户成功注册后,向API发送必要的数据并生成相关行。然后我需要得到一个新的令牌到Js客户端,我不知道如何做注册后它
当用户单击Js客户端中的注册按钮时,用户转到Js客户端中的注册页面,向API发送凭据,API向Ident
将包含identityserver 4的blazor应用程序部署到azure应用程序服务时,我遇到以下异常:
异常信息:System.InvalidOperationException:加载证书时出错。密码不正确,或者进程没有权限将密钥存储在密钥集“DefaultKeySet”中。
证书来自azure keyvault,在本地没有问题。
下面是我用来调用证书并将其加载到identityserver signingcredentials的代码:
var pfx = Configuration[&q
签名凭证和数据保护之间有什么区别?
签名凭证用于对de JWT进行签名
和数据保护,以签署反cookies
我应该使用两个不同的证书吗?它们是不相关的,应该为生产部署提供并配置这两个密钥
SigningCredentials是关于用于签名ID和访问令牌的密钥。它由IdentityServer使用
数据保护API还需要加密密钥,该密钥主要用于加密ClaimsPrincipal用户,如果SaveToken选项设置为true,还可以选择加密令牌
我在一段时间前写了一篇关于数据的博客:
我想让登录页面知道哪个客户端请求登录,以便显示一些特定于客户端的品牌:否则,用户可能会困惑,为什么他会重定向到另一个域上的这个外国登录页面。一个客户标志将有助于让他确信自己仍在正确的轨道上
获取这些信息最合理的方法是什么
编辑:请注意,通过“客户端”,我指的是代表其进行身份验证的客户端web应用程序,而不是用户的浏览器。所有客户端都在我的控制之下,因此我只使用隐式工作流
为了更清楚地说明这一点:我有客户端web应用程序A和B,以及identity server I。当用户代表B访问I时,B徽标应
我有一个运行在负载平衡器后面的IdentityServer4,该负载平衡器将https调用重定向到http资源。这意味着我的IdentityServer将在http上运行,但需要在其发现页面(.well-known/openid配置)中显示https URL
将此页面上的http URL转换为https的最优雅方式是什么?设置PublicOrigin选项(请参阅)
services.AddIdentityServer(选项=>
options.PublicOrigin=”https://foo.
忽略用户,关注客户机-为了使用ID4保护WebAPI项目,您可以添加令牌身份验证中间件,然后:
.AddIdentityServerAuthentication(options =>
{
options.Authority = "http://localhost:5000";
options.RequireHttpsMetadata = false;
options.A
我正在使用IdentityServer4保护一些WebAPI。由于客户设置中的一个怪癖,我们需要支持这样的设置:我们将有多个运行IdentityServer4的应用程序向不同的客户机颁发令牌。然而,这些客户最终会调用一些公共服务
因此,这些公共服务需要能够验证来自IdentityServer4的多个实例的令牌。由于您在启动时向资源服务器注册了IdentityServer实例,我认为只要所有IdentityServer都以相同的方式对令牌进行签名,它就可以工作
我假设将IdentityServer
我想在自定义数据库中使用IdentityServer4。我为管理员和学生提供了单独的表,两个实体都有单独的权限
我想知道如何配置IdentityServer EF数据库以使用现有数据库
任何帮助都将不胜感激
谢谢。我从IdentityServer 4开始
首先,我创建了一个UserManager类,它可以连接到我的数据源,并通过用户名和密码验证用户,然后返回该用户对象
public class UserManager
{
private SecurityContext _context;
我正在尝试创建一个身份验证服务器,该服务器具有IdentityServer 4和由Entity Framework支持的ASP.net核心身份
在启动和客户端时,用户和声明存储在ASP.net标识表中,资源存储在identity Server表中
当我试图获取令牌时,我会在屏幕截图中附加错误
Startup.cs
public class Startup
{
// This method gets called by the runtime. Use this meth
关于如何使用IdentityServer4在注销期间清除持久授权,有许多示例,但它们都显示了静态设置ClientId。任何人都知道如何动态获取ClientId,因为我计划将此IdentityServer用于多个不同的客户端。这是您通常可以找到的代码,请看倒数第二行:
[HttpPost]
[ValidateAntiForgeryToken]
[AllowAnonymous]
public async Task<IActionResult> Logout(LogoutViewModel
OIDC规范包括可传递给授权请求的、签名为JWT的请求对象JWT参数,请参阅。引述:
OpenID Connect定义以下授权请求参数,以允许对身份验证请求进行签名和加密(可选):
请求
可选择的此参数使OpenID Connect请求能够在单个自包含参数中传递,并且可以选择性地进行签名和/或加密。参数值是第6.1节中规定的请求对象值。它将请求表示为JWT,JWT的声明是请求参数
IdentityServer4文档没有提到它,请参阅
问题:IdentityServer4是否支持此参数?如果没有,
我有一个angular应用程序和identity server 4应用程序。我在angular应用程序中有一个只有用户名的登录页面,当用户输入用户名时,我想将此用户名发送到IDs 4,根据他的用户名,我将要求他使用密码登录或重定向到AZure AD(我已将这些设置保存在DB中,他需要以何种模式登录)
从角度来看,我们只能调用此方法this.oidcSecurityService.authorize()
任何人都可以建议使用angular auth oidc客户端库将用户名从angular应用程序
Chrome计划在2020年2月为使用Chrome 80的Cookie实施新的默认安全模式。
现在我正在测试所有可能受到影响的应用程序
对于身份验证/授权,我们使用oidc客户端(在UI上)和后端的IdentityServer
工作流程如下所示:
请求:
职位
{用户名,密码}
响应:
设置Cookie:idsrv=abc
{“redirectUrl”:“token&scope=openid”}
请求
令牌&scope=openid“
Cookie:idsrv=abc
响应:
302地点:
请求
我刚刚将IdentityServer4升级到v4,包括ApiResources、ApiScopes和ApiResourceScopes上的EF模式更新。但在做了必要的更改后,我开始收到错误“Scope customers:read not found in store.”无效的\u范围。。。如下
我不确定我在这里错过了什么;知道是什么导致了这个错误吗
谢谢
SELECT [a].[Id], [a].[AllowedAccessTokenSigningAlgorithms], [a].[Creat
我有一个主应用程序(MainApp)和一个客户端应用程序(clientApp)。我正在尝试通过MainApp登录ClientApp。(在ClientApp中有一个登录按钮,它将转到MainApp进行登录)。我在Startup.cs文件中进行了如下设置:
services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.Authent
您好,我正在将IdentityServer4与aspnet核心应用程序一起使用
我使用的是他们示例中的MVC客户机,也使用的是javascript客户机。根据租约名称,javascript客户端可以打开为tenantone.domain.com或tenanttwo.domain.com等
我无法获得动态子域的授权
请帮忙!如果有人在asp.net core中执行过此类任务
要注册javascript客户机,我使用以下代码
string tenancyName = "tenantone"
我正在尝试将我的demo IdentityServer 4应用程序发布到Azure web应用程序服务以进行测试。
包括应用程序加载在内,一切都运行良好
但是,没有生成日志,因此我怀疑并检查了诊断结果,发现:
2018-02-28 08:54:21.626 +00:00 [Critical] Microsoft.AspNetCore.Hosting.Internal.WebHost: Hosting startup assembly exception
System.InvalidOperati
在我的RP中,我在启动时调用的ConfigureServices方法中定义了权限:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
我正在做一个类似于IdentityServer 4.Quickstart.UI的项目,但将登录UI和IdentityServer分开。更具体地说,IdentityServer本身将是一个纯WebApi,登录UI可以是使用Angualr或React或….构建的任何SPA。。。。目前,我面临一个问题Identity.Application未通过身份验证。失败消息:取消票据保护失败
更详细的过程如下:单击SPA页面中的登录按钮后,显示以下代码
var result=wait this.\u signI
我有一个.Net Core 2.1应用程序,我正在使用它来测试AWS中新的Identity Server 4部署
这两个程序在我的本地机器上运行得很好,在那里我可以使用IS4进行身份验证,并使用我的所有登录信息重定向到我的应用程序中
在我部署的服务器上,情况并非如此,我不确定原因
我在我的IS4服务器上没有看到任何错误,它看到了我的客户端并验证了请求
但是,在我的本地计算机上,我的项目出现错误:
System.Exception: An error was encountered while h
我正在使用ASP.NET核心WebApi、Javascript客户端(使用oidc客户端js)和Identity的IdentityServer 4设置解决方案
我遵循了不同的教程和指南,找到了一个很好的解决方案。
当在未经身份验证的情况下访问JS客户端时,我会被重定向到IdentityServer,在那里我可以成功登录,并被重定向回JS客户端,使用我的承载令牌,然后使用该令牌使用API
该系统必须支持多个“租户”,但所有租户共享同一数据库。
我们的想法是使用URL中的租户密钥访问JS客户端并将其
在我的场景中,用户可以链接到不同的租户。用户应该在租户的上下文中登录。这意味着我希望访问令牌包含租户声明类型,以限制对该租户数据的访问
当客户端应用程序尝试登录时,我指定一个acr值来指示要登录的租户
OnRedirectToIdentityProvider = redirectContext => {
if (redirectContext.ProtocolMessage.RequestType == OpenIdConnectRequestT
我尝试启用的部署场景如下所示:
网关是对用户进行身份验证的身份服务
WebFrontend是一种UI服务,它为经过身份验证的用户提供静态和静态的视图/页面服务
后端是具有经过身份验证和未经身份验证的资源(如REST和GraphQL端点)的API服务
我有一个解决方案可以在
要按配置运行解决方案
使用脚本$/Scripts/generate CA certificate.sh
使用脚本$/Scripts/generate localhost.certificate.sh
在计算机的受信任根C
我想将identity server 4与一系列不同的外部身份提供者一起使用。不止一个。
例如:一家企业可能会将ADF用于其EIP,另一家企业将使用AZURE标识,等等。在此场景中,只有一个identity server实例访问不同的外部id提供程序
这可能吗?或者有人试过吗。如果没有,您是否知道有这样的服务。当然这是可能的。您可以在Startup类中注册任意数量的外部IdP。请确保还可以从Identityserver中查看示例quickstart存储库
此代码将AzureAd和Google注册
我正在与多个外部机构(提供者)一起使用Identityserver。我在这里尝试的场景是,我将一个客户机配置为“EnableLocalLogin”为false。我有多个外部提供者。快速入门中“LoginViewModel.cs”中下面的代码行没有意义
public bool IsExternalLoginOnly=>EnableLocalLogin==false&&ExternalProviders?.Count()==1
这将返回false,并且我不会被重定向到外部提供程序。这应该是Exter
我们发现,我们的用户经常第一次通过浏览OIDC客户端()的直接URL访问我们的web应用程序,ASP.NET核心OIDC身份验证中间件启动,用户被重定向回Identityserver 4登录页面
一切正常,但在输入凭证并继续返回web应用程序之前,他们决定在浏览器中添加(临时?状态、nonce、cookies…)授权URL作为书签
这会在用户以后在新会话中使用书签时引发问题。即使用户使用了旧的授权URL,在输入有效的用户凭据后,登录似乎仍能正常工作,但当用户被重定向回web应用程序时,它们最终会
一直在研究identity server 4解决方案,以补充我的ASP核心api。
使用前端的SPA页面,IdentityServer4是否能够管理登录/注销/其他的restfull调用
目前,我的解决方案可以完美地重定向到IdentityServer4解决方案和从IdentityServer4解决方案重定向到UX,但我想知道是否可以通过避免登录/注销时发生的重定向来改进UX
我听说过PopUp和iFrame功能,但从研究中发现了其他风险
(不确定此问题是针对stackoverflow还是针对软
我正在启动一个项目,将ID4或ID3链接到许多.Net Web应用程序,以便在技术成熟度不同的地方,使用OIDC跨这些应用程序支持SSO
我遇到一些麻烦的是一个.NET4.5WebForms应用程序,它目前不支持OWIN。我想知道将它与ID4或ID3集成的最佳方法是什么
我一直在考虑采用以下方法,但我相信有更好的方法:
问候,,
BarryOwin包没有任何依赖项,因此您可以直接将其添加到Web表单应用程序中。这是最好/最简单的方法
接下来需要的是IdentityServer3.AccessT
我需要在客户端有刷新令牌到期日期。
默认情况下,Identity Server在响应中返回访问令牌过期日期。
我可以使用过期的刷新令牌发出请求,并通过请求用户再次登录来处理未授权响应,但如果客户端有刷新令牌过期日期,则可以跳过另一个往返。在这种情况下,我们可以检查客户端的刷新令牌,如果该令牌过期,则用户将被重定向到登录页面。您可以做的是比较过期时间(将其转换为通用时间)有了当前时间,您就会知道刷新令牌是否过期,无需再打电话查找。在一般情况下,您不需要它。查看:一旦访问令牌过期,您将获得一个新的对
我需要给用户,一旦登录,能够改变他们的用户名/电子邮件地址(相同的值)在他们的帐户。。。可能与更改密码的方式类似。我已经查看了IdentityServer4文档,但没有看到这方面的内容。。。系统正在使用ASP.net标识存储用户数据
是否有一个带有IdentityServer4的“开箱即用”选项来更改用户名?(因为文件中没有,我想没有)
有人能举出一些已经完成的例子吗?搜索时,令人惊讶的是,关于这一点的信息非常少
如果没有例子,谁能建议从哪里开始
如果您在IS4中使用Asp.Net标识,则将通过
我已经配置了IS4,并且除了refresh\u token在那里我一直收到错误的请求(400)之外,所有工作都正常
自从阅读我可以看到的日志以来,我已经实现了PersistedGrantStore来存储令牌:
2020/09/01 17:57:25.589|TRACE|Processing token request. |IdentityServer4.Endpoints.TokenEndpoint|
2020/09/01 17:57:25.616|DEBUG|Start tok
我们正在使用IdentityServer4。我们有一台运行ADFS(Active Directory联合身份验证服务)4.0版的Windows 2016服务器。此版本的ADFS具有OpenID连接端点以执行active directory身份验证。我们在IdentityServer4中将其设置为外部oidc提供程序。身份验证工作正常。我的问题是注销。当前注销会正确处理identity server和客户端cookie,但不会将用户注销外部提供程序(ADFS)。我升级了ADFS服务器,以便元数据终
我计划一起使用Identity Server 4和Asp.net Core Identity。我的网站将与Identity Server 4/Asp.net Core Identity对话,希望每个用户返回一个公司名称
我是否应该创建一个名为Company的新客户表,并在Asp用户表中添加一列将它们链接在一起
或者这应该是一项索赔
我知道当我对我的用户进行身份验证并将其发送回我的主站点时,我将有一个公司表,它们将被链接,但不确定是否用于识别它们
我觉得这应该是一个声明,但我想再次检查一下,因为我
如何避免对静态文件进行身份验证
对于静态文件(图像、.js、.css等)上的每个请求,都会记录一条带有“AuthenticationScheme:“Bearer”未经身份验证”的消息。虽然在配置设置为调试时才记录消息,但在这方面浪费的资源是不必要的
一切正常,我只是想避免检查这些请求的身份验证。有没有办法让它失效?我尝试了几种在Configure方法上设置身份验证的方法,但都不起作用
这是我当前的配置:
public void Configure(IApplicationBuilder app,
我的场景是,客户端只有一个用户,该用户将用于获取/创建API数据。我想使用授权代码流(或任何合适的?)并静默地对一个用户进行身份验证,并生成id_令牌和访问令牌。我的客户现在不希望登录屏幕进行身份验证(可能他们的应用程序中已经有用户身份验证),因为只有一个用户
如何实现这一目标,使用何种类型的补助金?或者是否有一种使用用户名和密码自动登录用户的方法?如果您有他们的用户名和密码,您可以使用:
POST/connect/token
client\u id=yourclientid&client\u
我有一个IdentityServer 4和一个javascript客户端,它使用oidc-client.js库通过我的IdentityServer进行身份验证。我有一个特殊情况,需要传递两个acr值:idp:{providerName}和tenant:{tenantName}。
使用配置对象中的oidc-client.js库,我将arc_值字符串传递为acr_值:“tenant:lado”或acr_值:“idp:Google”。如果我尝试发送字符串列表acr_值:[“idp:Google”,“t
我正在尝试将UserDB EF迁移添加到ASP.Net核心标识快速启动项目中。做了我认为需要的一切,并尝试从我的MVC客户端登录,我从浏览器收到以下消息:
单击“应用迁移”按钮解决了部分问题-我可以看到大约六个ASP标识表被添加到我的SQL Server数据库中。但是它没有在数据库中植入用户凭据,迁移也不会持久——如果我删除数据库,我必须再次执行所有这些操作。VS Package Management Console Recommend或消息建议的Recommend行均无效。我在执行VS包管理
我已使用外部ADFS登录设置IdentityServer4。要将ADFS用户与IdentityServer4用户匹配,我需要AD中的EmployeeNumber属性。我添加了一个索赔规则(AD FS->Application Group->Web API->Issuation Transform Rules),该规则从AD中查询EmployeeNumber,并将其转发到名称ID/名称标识符:
c:[Type == "http://schemas.microsoft.com/ws/200
与IdentityServer3一样,IdentityServer4中是否可以有HTML视图(AngularApp)?有关于这方面的文件吗
像这样:
我使用的是带有自定义视图和自定义用户存储(我的应用程序数据库)的IS3,但我需要使用IS4将其移植到.NET Core。在IS4中,您可以完全控制视图和您喜欢的构建技术。检查我们的示例-它们使用普通MVC控制器和操作。谢谢Dominick!我已经仔细阅读了你博客上的注释,明白了。在IS4中,我只需要将我的控制器和操作放在正确的路径上(例如ui/登录
IdentityServer4.AccessTokenValidation是否支持多个权限的身份验证
通常情况下,我会为自己的单一权限设置信任,如下所示:
.AddIdentityServerAuthentication(options =>
{
options.Authority = "http://localhost:5000";
options.RequireHttpsMetadata = fa
我的目标是保护Web API,使其只能由客户端使用基于Windows身份验证的is颁发的访问令牌进行访问。我完成了这个基本示例:
现在,我需要扩展基本示例,以便返回给客户端的访问令牌是基于Windows身份验证颁发的。更具体地说,当请求访问令牌时,我需要让用户(正在执行客户端应用程序)根据Active Directory进行身份验证。如何做到这一点
我已经成功运行了quick start(),其中登录基于Windows外部提供程序,但我不知道如何将此功能应用到我的策略中
我尝试使用扩展授权()
当我使用IdentityServer4示例程序并导航到
http://localhost:5000/.well-known/openid-configuration
页面显示json,不带格式
我希望它被格式化
如何修复它?JSON格式化程序是一个浏览器插件。Identity Server的发现文档(以及其他每一个JSON结果页面)都是原始JSON。你需要一些格式化程序,它会为你美化页面
以下是一些浏览器(我可以在这些浏览器上进行测试和确认):
Chrome-(我个人使用这个)
火狐-
我有IDS4和一个Xamarin.Forms应用程序,除了一个小问题外,其他都可以正常工作。每次iOS应用程序访问IDP服务器时,它都会首先给我以下提示:
“AppName”要使用“”登录
这允许应用程序和网站共享有关您的信息
这是什么原因造成的
我使用IdentityModel.OIDClient2时出现此错误。请看原因。其要点如下:
原因
这是在iOS 11中添加到SFAuthenticationSession的系统对话框。它由AppAuth中的以下代码触发:
SFAuthenticatio
关于IdentityServer4的快速入门示例何时提供更新的消息?今天从3.1升级到V4,但有一些突破性的更改我找不到文档。已尝试更新模板:
dotnet new --force -i IdentityServer4.Templates
但是他们仍然使用以前的版本。根据github repo,Quickstart UI已经更新到v4。
看起来dotnet cli模板也已更新到v4,项目现在使用的是IdentityServer4软件包版本4.0.0
从阅读dominick baier的twi
我有一个ASP.NET MVC测试应用程序,它应该作为一个隐式的OIDC客户端工作,具有来自IdentityServer4应用程序的访问权和id令牌(两者都是dotnet core 3.1)。IdSvr配置了两个外部OIDC IDP:一个KeyClope实例和一个ADFS(4.0),同上
我的ADFS IdSvr配置如下:
.AddOpenIdConnect("oidc_adfs", "ADFS", options =>
{
options.
(我尝试学习网络开发)
从模板创建托管Blazor WASM时,我们使用ID和标识获得服务器和客户端。我们如何添加新的web API项目(因为关注点分离?)并通过此模板设置对其进行保护
感谢您的时间和帮助。我知道您目前有两个应用程序-身份服务器和Blazor应用程序-并且您希望创建第三个应用程序:Blazor应用程序可以使用的API,对吗
如果是这样的话,那么您可能已经在Blazor应用程序中使用身份验证了。您需要做的是获取您可能拥有的JWT并将其传递给新的API,该API还必须在Identit
我有一个identityserver4项目,该项目运行良好,所有东西都使用.netapi正常运行
我真正的问题是我能否在nestjsapi中使用我的令牌,并使用IdentityServer4内省端点验证令牌
例如,我的javascript客户端登录到身份提供者并将令牌发送到nestjs api,然后从那里我将令牌从api发送到IdentityServer4内省端点以验证令牌
使用这条路线有什么问题吗。有安全措施吗
在IdentityServer4中是否有PostLogonRedirectURI和PostLogoutRedirectURI一样
我基本上想将用户重定向到另一个web应用程序中的控制器/操作,如果在登录期间重定向URI为null
谢谢!
Jay如果重定向uri为空,identityserver将给出一个错误。我不明白在哪些情况下您需要identityserver端的PostLoginDirectURI。如果在某些情况下登录后需要将用户重定向到url,则应在客户端应用程序端。我的登录页是我的ide
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 14 页