私は3つのmvc4サイトを持っています。サイト1「www.mydomain.com」は、ユーザーがアカウントを作成できるマーケティングサイトです。
サイト2「https://businessnamewhatever.mydoman.com」は、ビジネスがログインして利用可能な機能を使用するために使用されます。
サイト3WebApiプロジェクト'https://api.mydomain.com'
マーケティングサイト内にアカウントを作成した後(webapiを呼び出してアカウントを作成)、自動的にログインする2番目のサイトにリダイレクトしたいと思います。
どちらのサイトにもフォーム認証が設定されており、どちらもweb.config認証セクション内で設定された独自のCookie名を使用します
APIを呼び出した後、マーケティングサイト内で、ユーザーがサイト2に自動的にログインできるようにする認証Cookieを設定する必要があります。
自分のマーケティングサイトから使っただけだと思いました
FormsAuthentication.SetAuthCookie(userName、true、 "サイト2のCookieの名前");
私の2番目のアイデアは、次のようなダーティリダイレクトを実行することでした
var url = string.Format("https://{0}.mydomain.com/account/sign-in?userName={1}&password={2}", model.BusinessName, model.BusinessName, model.Password);
return Redirect(url);
ただし、リダイレクトは発生しません。ネットワークタブを見ると、応答がわかります。それをクリックすると、サイトに正しくリダイレクトされます。
これを行うためのより良い方法はありますか?
アップデート
ごめん!APIとして機能する3番目のアプリケーションがあることを忘れました
Kennethの提案に従って、すべてのweb.configを更新しました。認証設定で同じマシンキーとドメイン名を追加する
マーケティングサイト内でcreateuserメソッドを呼び出した後、そこでCookieを設定しようとしているのでしょうか、それとも他のことをしているのでしょうか。