簡體   English   中英

在Identityserver登錄頁面中獲取請求Uri

[英]Get Request Uri in Identityserver login page

我對Identityserver和owin非常陌生。 這是我的問題。 我通過使用identityserver3作為身份驗證服務創建了一個asp.net MVC應用程序。 我想在身份服務器登錄中訪問請求URI。 我已經使用MVC視圖(通過使用IdentityServer3.Samples)自定義了登錄頁面。

這就是流程。 以下網址需要進行身份驗證。 https://www.myapp.com/customer/profile當有人導航到該URL時,它將自動重定向到身份登錄頁面https://www.myapp.com/identity/login?signin=2207991967207c8e306a8c08b3abd3b8 提供正確的用戶憑據后,它將正確重定向回請求URL,該URL已由Identityserver處理。

就我而言,我在同一identityserver登錄頁面內有另一個鏈接,該鏈接應重定向到我自己的鏈接,並帶有請求URL https://www.myapp.com/customer/profile作為querystring參數。 我該如何實現? 基本上,我想在登錄頁面中獲取請求URL。

您必須在客戶端上覆蓋AuthorizationCodeReceived事件的處理程序:

AuthorizationCodeReceived = async n =>{
    n.AuthenticationTicket.Properties.RedirectUri = /*your custom logic here*/;
}

問題似乎是一個的變化

您應該可以通過以下方式訪問返回網址

var env = Request.GetOwinContext().Environment;
var msg = env.GetSignInMessage(id); // id from querystring
var returnUrl = msg.ReturnUrl;

(取自示例存儲庫中的登錄控制器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM