2017-11-14 11 views
2
ドキュメントで

http://docs.identityserver.io/en/release/quickstarts/3_interactive_login.htmlMVCアプリケーションのセキュアページにアクセスせずにIdentityServer4のログインをトリガーするにはどうすればいいですか?

それは、「保護されたコントローラのアクションに移動して認証ハンドシェイクをトリガ」と言います。これは、MVCサイトの任意のアクションに[Authorize]でアクセスするだけです。サインインした後、これはアクセスしようとしていたページにリダイレクトされ、最後に訪問したページにはリダイレクトされませんでした。

素晴らしい。しかし、このシナリオはどうですか?

  1. ユーザーは、このサイトの一部の匿名部分にあります。
  2. ユーザーは、(多くのいずれかになります)、彼らはを訪問し、最後たページ(アンセキュアな)メニューから、アイデンティティ・サーバーで
  3. ユーザーが戻って匿名にリダイレクトされるで
  4. ユーザーの看板を「サインイン」をクリック彼女は後で[Authorize]ページを押すことに決めたらサインインしました。

MVCで安全なページを表示せずにoidcサインインを開始するにはどうすればよいですか?ただ、標準のASP.NETコア認証です

+1

['ChallengeAsync'](https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.authentication.authenticationhttpcontextextensions.challengeasync?view=aspnetcore-2.0)をこの。 –

答えて

2

- また、あなたはあなたが認証後に終わるしたいURLを設定することができAuthenticationPropertiesオブジェクトに渡したい

HttpContext.ChallengeAsync("name_of_oidc_scheme");

を呼び出します。

+0

ありがとうございました。 IdentityServerで、ログインの代わりに登録ページを表示する方法は、まったく同じシナリオ(メインメニューからのログイン/登録リンクを前提としています)の場合はどうしたらよいでしょうか。 https://stackoverflow.com/questions/41689212/how-to-redirect-user-to-registration-page-in-identityserver4を参照してください。 – dapug

+0

このDOCによると、みんな:https://docs.microsoft.com/enこのメソッドは、ASP.NET Coreバージョン2.0で使用できます。このメソッドは、ASP.NET Core 2.0で使用できます。私はまだ1.1です。あなたはここでそれをする方法を知っていますか? また、この行をどこで使用しているのか詳細をお知らせください。 Home \ Indexに置くだけですか? – Sergey

+0

私は 'attit HttpContext.Authentication.ChallengeAsync(" oidc ");'を呼び出しましたが、IDSRVのログインページにリダイレクトします – Sergey

関連する問題