- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们的高级开发人员最近离开了我们,我正试图游入 IdentityServer 的海洋。
有几件事我不明白,也找不到相关资料。例如,当您运行客户端应用程序时,它会重定向到 IdentityServer/Account/Login
,并带有一个名为 returnUrl
的参数。
那个returnUrl
似乎被用于很多事情,比如检索授权上下文:
await _interaction.GetAuthorizationContextAsync(returnUrl);
我的第一个问题是:
returnUrl 是从哪里来的?它是如何/在哪里创建的?
第二个问题是:
有没有办法在您登录后将其存储在客户端应用程序的某个位置?我的意思是,在客户端应用程序中有一点我们必须发送邮件来创建新帐户。这些邮件在 IdentityServer 的“注册”页面中重定向新用户。我想要做的是让 returnUrl 在这里将新用户重定向到正确的客户端应用程序。
感谢您的宝贵时间!
编辑:
这是在我的客户端(在 IdentityServer 中)中设置的返回 url:
RedirectUris = {"http://localhost:44349" + "/signin-oidc"}
这是当我启动客户端应用程序时 IdentityServer 中的 Login 方法收到的 returnUrl
"/connect/authorize/callback?client_id=MyApplication_Web&redirect_uri=http%3A%2F%2Flocalhost%3A44349%2Fsignin-oidc&response_type=code%20id_token&scope=openid%20offline_access%20roles%20Cri_Identity_Serveur_Api.Full_Access&response_mode=form_post&nonce=637230882720491348.YmQzODA4ZTQtNDczZS00OWYwLWFmNmEtYjA2NmQ3YmIwZjg2YzdiODk4ZDYtMTU1YS00ZTM0LWE0MGEtNDVjOWNkZWFiYTM1&state=CfDJ8Ly2XCz96vdGkR4YQuJ4jeE-v9P4l1W7fLWpJcCGZpt1rMpXyWqEGdnaeRZfiZy4M4Z79LcixUbo06zImhsxwbgyV4hK82qmn0mI6wkrxwraT1tH3XNCdSXCfUJqwk_hZguMSwspZDEN6r1WxnZsU9kT8MHrb9qpzsMOMzsotVzToEjgMtxIeoRfqFSoK8ZfUXBkSw__qxVyIe1lCs96-I--ufZSyO2pBe2kfau-ah7eR5-9oopxX6x1k0tzFHAk6Y3_jMqGysES_GmmfeUJvXXFIR35Rc-IaxU1igswmL2h1IUS-0DQ98Tv_Gf3hirnS87SU87aSJhajgn2YmARXWc&x-client-SKU=ID_NETSTANDARD2_0&x-client-ver=5.3.0.0"
似乎要使用 await _interaction.GetAuthorizationContextAsync(returnUrl);
检索授权上下文,returnUrl 必须是带有 "/connect/authorize/callback?..."的整个 url
最佳答案
不幸的是,Martin 的回答是不正确的 - returnUrl
在这种情况下是客户端最初请求的授权端点 URL。如果用户未通过身份验证,则该端点将重定向到您指定的登录 UI 端点并包含此参数。 GetAuthorizationContextAsync()
只是分析该 URL,如果它与授权端点 URL 的签名相匹配,那么它将解析、验证并返回一个代表该原始请求的对象。然后,您可以根据该信息自定义您的登录流程(例如,显示您正在登录的客户端的名称或限制可用的社交登录方法或任何数量的其他内容)。
您可以在您的注册流程中包含此 URL,但我个人更喜欢基于一次性代码的电子邮件验证流程,这意味着用户不会丢失上下文,例如登录 native 移动应用程序,也不需要在他们注册的设备上安装电子邮件客户端 - 例如无法访问其工作电子邮件帐户的电话。不过每个人的要求都不一样。
关于asp.net-core - IdentityServer4如何处理returnUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61348436/
我正在开发“ASP.NET MVC 4”应用程序。我正在使用/学习 SimpleMembershipProvider 并尝试坚持 VS2012 使用 Internet 模板 创建的默认逻辑(如果我没记
我在 web.config 中使用 Forms 身份验证,当我将我的页面重定向到某些特定页面时,returnUrl 会自动附加并且系统重定向到登录页面。无论用户是否登录,都应打开这些特定页面。 当我在
我想使用多次参数“returnUrl”来检索 url 中的一些参数。 示例: HTTPS://force.com?positionId=a0w0X000007HjBuQAK&lang=fr&media
我已经实现了我的登录页面并且它工作正常,但我无法从包含原始请求 URL 的 ReturnUrl 查询字符串参数中读取。 例如,从该页面成功登录时: http://whatever/Login.aspx
我已经实现了我的登录页面并且它工作正常,但我无法从包含原始请求 URL 的 ReturnUrl 查询字符串参数中读取。 例如,从该页面成功登录时: http://whatever/Login.aspx
我正在尝试使用 AdaptivePayments 通过我的网站将资金从一个用户发送到另一个用户,这样我就可以检查他们是否真的完成了付款。付款成功,但它们没有返回到我的网站,所以我无法跟踪付款。 我正在
我正在尝试使用 PayPal PHP SDK 将 paypal 整合到我的网站中。一切似乎都在工作,除了在成功或失败之后返回的 url 既不包括我定义的参数也不包括 paypal 返回的参数,例如 p
总结:我想使用 returnUrl 作为交易已被 PayPal 接受的证明。 我正在实现一个基于 PayPal 的非常基本的购买工作流程。 一切正常,用户点击支付,用户转到 PayPal,PayPal
我对在用户登录的页面上使用 paypal 有疑问 是用php 如果 paypal 重定向回该页面,您如何才能让用户仍然有权访问该页面。 我读到一些关于使用 PDT 将 session_id 赋予自定义
如何在 returnUrl 中指示页面上的位置? returnUrl= HttpContext.Current.Request.RawUrl 最佳答案 您可以在 url 中包含某种类型的标签,然后
大家好,我在 main.php 配置文件中有这段代码: 'components' => array( '[.........]', 'user'=>array( //
我们正在构建一个使用 ACS 的应用程序。我们的使用场景如下: 用户通过电子邮件收到类似 https://our.application.com/?requestId=123456 的网址并点击它 用
当用户单击我的站点中需要身份验证的链接时,浏览器将重定向到登录页面。登录页面包含一个 returnUrl 查询字符串参数。问题是,如果用户使用 OpenID 进行身份验证,提供程序会将用户重定向回登录
我有一个域 http://abc.com和一个子域 http://sub.abc.com .我正在通过共享表单例份验证 cookie 在两个站点之间实现单点登录。这是通过让两个站点共享 machine
我正在通过 returnUrl = Request.Url对于 Controller 操作,问题是当我在重定向之前使用以下代码检查它时,由于 IsLocalUrl() 而失败。称呼。为什么? if (
我正在使用 ASP.NET 成员资格和表单例份验证,在重定向到 returnURL 之前我想验证它。对于那些不熟悉工作流程的人来说,基本上如果您请求一个需要您进行身份验证的页面,您将被重定向到登录页面
我已经使用 Visual Studio 使用 servicestack 实现了一个网络服务。从 vs 调试器运行服务工作得很好。我刚刚尝试使用 XSP4 将它部署到 debian 机器上。该服务使用日
我有一个使用 AngularJS 的 SPA。我刚刚添加了安全/身份验证,除了 returnUrl 登录后重定向外,一切似乎都运行良好。存在于查询字符串中。 我的应用程序中有代码,如果没有用户通过身份
这可能是一个简单的问题,但我正在努力处理查询字符串中的 returnurl。我知道如何将查询字符串中的 returnurl 调用到 Response.Redirect 但我不确定如何将 returnu
我将返回网址作为查询字符串参数发送,如下所示 http://localhost:50316/TripNestFinal/Login.aspx?ReturnUrl=~/Account/AccountSe
我是一名优秀的程序员,十分优秀!