- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当未经身份验证的用户在客户端网站上打开安全页面的 URL 时,他/她重定向到身份服务器进行登录,成功登录后返回客户端的主页(使用客户端/身份服务器的默认实现时)。
github上的问题RedirectUris with callback params does not work解释说记住 QueryString 是客户的责任,并有以下建议:
If you need to maintain state across the redirects, then issue a cookie client side or pass data via the official state param. You generally want to use the state parameter as a pointer to locally persisted data - e.g. a cookie. Create a cookie with a random name - store whatever needs to be stored there - round trip the cookie name as the state parameter. Just putting data on state has the issue that someone could potentially modify the values on the way back.
Store state in your app about the redirect path you want after login. After IdSvr logs your user in and redirect back to your one well-known callback URI you then read that state to know where to send the user. IOW, keep track of that in store state in your app about the redirect path you want after login. If you put it in the ProtocolMessage.State , then be aware that someone can tamper with it. If you protect the state (sign/encrypt), then it's ok. It might be easier/safer to keep that state in your app.
https://mydomain/mypage?querystringparams
2.在Web.config我有
<authorization>
<deny users="?" />
</authorization>
new OpenIdConnectAuthenticationOptions
{
Authority = "http://localhost:5000/",//IdentityServer4 Host
RedirectUri ="https://mydomain/"
}
new Client
{
RedirectUris = { "https://mydomain/" , "http://mydomain/" }
}
https://mydomain/
,但需要重定向到 https://mydomain/mypage?querystringparams
最佳答案
我还没有研究过 WebFormsClient。但是如果你可以使用 OpenIdConnectAuthentication
Owin 中间件(在 OwinClient 示例中使用)重定向应该自动发生。如果不支持 OWIN 中间件,您可以手动处理。看看https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Clients/MvcCodeFlowClientManual样本。在那里您可以控制状态参数并自己处理重定向。
例如:
在 AccountController/SignIn()
您可以获得redirectUri
从查询字符串中提取并将其添加到发送到身份服务器的 authorization endpoint
的状态参数中.
然后在 AccountController/SignInCallback()
您可以检索 state 参数并将用户重定向到他输入的 URL。
使用 OwinAuthentication 中间件,这应该自动处理。
关于asp.net - 重定向后记住 QueryString 参数的 IdentityServer 客户端示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350529/
在登录并同意后使用任何标准身份提供者(谷歌、Facebook)时,他们会重定向到我的主要身份服务器,并让它重定向到在其中注册的隐式客户端。我如何使用另一个身份服务器作为外部身份提供者实现相同的行为?
我正在开发一个 SPA Web 应用程序,并且我正在使用 IdentityServer4 代码流来处理授权。所以我有以下组件: Angular 客户端应用程序,https://localhost:50
我正在设置 IdentityServer 的一个新实例作为身份提供者。登录时,我想在我的用户对象上设置一些额外的自定义声明。现在,我正在使用以下代码: [HttpPost] public async
我正在尝试遵循本指南 https://identityserver.github.io/Documentation/docs/advanced/customizingViews.html通过将 ass
当使用 IdentityServer 3 时签名证书(用于签名 jwt token )过期会发生什么? 我不清楚,我找不到任何文档,除了可能会收到它已过期的警告。 (Ref. https://iden
我有一个使用 IdentityServer4 进行 token 验证的 API。 我想使用内存中的 TestServer 对这个 API 进行单元测试。我想在内存中的 TestServer 中托管 I
我正在尝试将 Identity Server 4 与 Ocelot 集成并对 WebApp (asp.net core 3.1) 进行身份验证,然后在请求通过身份验证时访问 api。 为此我创建了一个
如果您有多个客户端和一个处理用户身份验证的中央 IdentityServer 4 实例,您将如何管理各个客户端的用户配置文件? 当前情况: 用户点击“管理个人资料” 用户被重定向到 IdentityS
我正在开发一个带有 angular 的前端应用程序和一个带有 Asp.Net Core 的后端应用程序,其中包含用于身份验证的 IdentityServer4(基于此 github project)。
我有一个包含用户的数据库,我该如何开始使用 IdentityServer 创建我的用户的自定义实现?我看到的所有示例都使用了用值硬编码的 InMemoryUser。 有人可以关注this作为指南? 最
我们公司有一个 SSO 应用程序,我希望用 IdentityServer4 或 3 替换大部分身份验证管道。我要替换的版本有自己的动态客户端注册自定义实现(不符合规范)和一个 UI 来管理它。 有nu
我正在使用 IdentityServerV3 对少数客户端的用户进行身份验证。我在配置 IdentityServer 时遇到问题,特定的 user 必须能够登录到特定的“客户端”。 让我们来看下面的场
目前我们正在使用 JWT token 进行身份验证(有效),但我想使用引用 token 。目前我们的配置是这样的: public static class Config { ///
我在启动 IdentityServer 3 时遇到问题。这是一个非常简单的设置,我打算将其用于开发环境,但我在诊断问题时遇到了问题。这是我的代码: Startup.cs using Owin;
我正在使用来自 IdentityServer 4 实例的 OAuth2。基于this example ,我能够登录并调用服务器托管的 API。 如何在不显示提示用户确认注销的 Web View 的情况
我是 IdentityServer 3 的新手,示例和教程使用的是 InMemory 用户、客户端和范围,但我需要这些来自 DB。所以我做了: 启动.cs public void Configurat
我一直在阅读和观看有关 Identity Server 4 的大量内容,但我仍然对它感到有些困惑,因为它似乎有太多的事件部分。 我现在明白这是一个单独的项目,它负责对用户进行身份验证。我仍然不明白的是
我似乎无法理解为什么我会从 IdentityServer 获得 unauthorized_client。我将 oidc-client 与 Angular 4 ui 和 Web API 的 asp.ne
我在 IdentityServer 中设置了以下客户端: new Client { ClientName = "My web application", Enabled = true,
在本地,我有一组 Web 应用程序都可以通过一次登录访问。 为此,我采用了 Identity Server 4。 一旦应用程序发布在本地服务器上,无法远程访问,我就通过 openssl 生成了一个 S
我是一名优秀的程序员,十分优秀!