2017-08-25 10 views
0

私はSSOを初めて使いました。うまくいけば、私が求めていることは理にかなっています。だから私の現在の設定ウェブサイトOWIN /クッキー(app.UseCookieAuthentication())とカスタムユーザーテーブル(ASP.NET Identityユーザーではない)を使用しています。IdentityServer3:既存のユーザー/認証と「並行して」使用できますか?

外部プロバイダにのみIdentityServer3を追加することはできますか?しかし、既存のすべてのユーザー/認証情報は「ローカルユーザー」のままにしておきます。だから私はあなたのローカルデータベースに対してユーザーを検索するカスタムIUserServiceを実装することができ、私はそれがうまくいったと思うが、私もそれを避けたい。そして、私はIdentityServerログイン画面のテーマ化を避けたいと思います。だからこのようなもの:

  1. ユーザーは[Authorize]属性でヒットします。
  2. ユーザーは既存のログインページにリダイレクトされます(IdentityServerのものではありません)
  3. ログインページに外部プロバイダのログイン用の外部プロバイダボタンがあります。

これは可能ですか?またはIdentityServer3でローカルユーザーを実行する必要がありますか? IUserServiceを指定せずにUseInMemoryUsers()を使用しないとエラーが発生していることに気付きました。

だから、さまざまなガイドを次の中から、私は私のStartup.csでこれを持っている:私のIdentityServerエンドポイントへAuthority設定してapp.UseCookieAuthentication()app.UseIdentityServer()、およびapp.UseOpenIdConnectAuthentication()

うまくいけば、感謝しました、ありがとう!

答えて

1

他の人に役立つと私自身の質問に答えます。重要な部分はAuthenticationModeで、OpenIdConnectAuthenticationOptionsです。 AuthenticationMode.Activeは、[Authorize]のアクションを実行するたびに、OIDCプロバイダにユーザーをリダイレクトします。 AuthenticationMode.Passiveを使用すると、OIDCプロバイダを追加の認証方法として使用できます。 ExternalLogin()ExternalLoginCallback()のコントローラーアクションを使用して、プロバイダーに問題を発生させ、認証ユーザーとローカルユーザーを一致させる例を実行したいとします。

関連する問題