私はASP.NET Core Web Appを持っており、Azure AD認証を使用したいと考えています。すべてセットアップしてローカルで作業していますが、Service Fabricインスタンスに展開すると、APIコールで再度ログインしようとするため、内部API呼び出しでエラーが発生します。Azure AD、ASP.NET Core Web App、およびService Fabric:複数のマシンで認証を取得する方法は?
掘り下げた後、私はデフォルトで、マシンキーを使ってクッキーを暗号化することを発見しました。私のSFインスタンスには複数のマシンが稼動していますが、それは原因と思われます(異なるマシンでは同じクッキーを読み取ることができないため、認証されていないと思います)。
マシン間で同じキーを使用するAAD Cookie認証を取得する方法はありますか?
これは私が現在、私のConfigureServices
コールに持っているものです。
services.AddDataProtection()
.SetApplicationName("my-app")
.ProtectKeysWithCertificate("my-thumbprint")
.PersistKeysToFileSystem(new DirectoryInfo("dp-keys"));
しかし、これはまだ動作していないようです - 異なるキーは、まだ各マシン上で生成されます。現時点では、すべてのマシン間でファイルを共有する方法はありません。それが唯一の解決策になるのでしょうか、それとも他にも何かがありますか?
私は私の編集にいくつかのコードを追加 - 私はここにレイアウトされた解決策使用しています:https://docs.microsoftを。あなたの提案がうまくいく、私のアプリに別の設定がありますか? – justindao
このブログでは、必要な3つの項目について説明しています。整列させる:http://www.paraesthesia.com/archive/2016/06/15/set-up-asp-net-dataprotection-in-a-farm/ '同期するもの'それは助けになるか? – LoekD
ありがとう!私は実際に私の解決策を思いついたのですが、残念なことに私のマシンには誰もがアクセスできる共有サーバーがありません。私はAzureのBLOBが助けることができるかどうか確認します。 – justindao