簡體   English   中英

IdentityServer3如何使用signin =從MVC客戶端應用程序重定向用戶

[英]IdentityServer3 How to redirect user from MVC Client application with signin=

我是OAuth 2.0和IdentityServer3的新手,但對內部工作有很好的了解,並且使用各種流程(隱式等)來啟動並運行了實現和客戶端。

這可能是一個棘手的問題,但是我設法使用(隱式流程)配置了一個有效的IdentityServer3實現和一個有效的MVC客戶端。

要強制用戶進入IdentityServer3登錄頁面(我已在模板中對其進行了自定義),客戶端必須單擊客戶端中的Login鏈接,並且客戶端中的ActionResult具有[Authorize]屬性,該屬性會將用戶重定向到IdentityServer登錄頁面(因為它需要授權)。

這是正確的實現嗎? 另外,我想將用戶重定向到單獨的“注冊”頁面,但不向“注冊”操作添加[Authorize]屬性(該屬性將重定向到登錄頁面FIRST,然后用戶必須單擊“注冊鏈接”我是通過使用模板自定義的)在客戶端中,我似乎無法完成此任務。

如何將登錄邏輯與注冊邏輯分開?

任何幫助都是極好的!

謝謝,

不要在注冊頁面上設置[Authorize]屬性。 因為正如您所說的正確,它將首先重定向到登錄名。 它需要公開可用。 要在登錄視圖中集成“ 注冊 ”鏈接,可以在IdentityServerOptions使用以下屬性:

Startup.cs [摘自IdentityServer-Configuration]

IdentityServerOptions options = new IdentityServerOptions
{
    AuthenticationOptions = new AuthenticationOptions {
        LoginPageLinks = new List<LoginPageLink> {
            new LoginPageLink { Href = "https://example.com/register", Text = "Register" },
            new LoginPageLink { Href = "https://example.com/forgot-password", Text = "Forgot your password?"}
        }
    }
};

這將在Identityserver的登錄頁面上的“登錄表單”下方添加鏈接。

再次提醒您,這些鏈接需要公開 (未經授權)

暫無
暫無

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

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