2016-03-22 14 views
1

私は、ASP MVC Webサイト、ASP SignalRハブ、およびXamarinモバイルアプリ(すべて3つのプロジェクト)からなる複雑なプロジェクトを持っています。 ASP MVC WebはSignalRハブを参照しており、両方とも一緒にホストされているため、両方のプロジェクトに対して1つのOWIN Startupクラスしか存在しない可能性があります(そうしないと、OWIN Startupクラスが1つしかない可能性があります)。また、WebアプリケーションでASP Identityも使用しているので、私はapp.UseCookieAuthenticationメソッドを呼び出します。このメソッドは、SignalRハブとの通信を許可する前にクッキーが必要です。したがって、XamarinモバイルアプリとSignalRハブ間の通信は不可能です。私は信じて Xamarin SignalRでクッキー認証を使用する方法

は、この質問には、2つの異なる方法で回答することができます。

  1. それだけでWebアプリケーションにクッキー認証を使用して ないSignalRのハブにすることは可能ですか? 2つのOWINスタートアップクラス、 を作成するか、クッキーが本当に必要なリクエストを指定するかによって、
  2. 上記の解決策が/「正しい」ことができない場合、XamarinアプリでCookie認証を取得するにはどうすればよいですか? official webresponse.Cookies[FormsAuthentication.FormsCookieName]を使用していますが、FormsAuthentication.FormsCookieNameはXamarinでは使用できません。クッキーを作成するにはどうすればよいですか?そして、SignalRハブにアクセスする前にWebアプリのログイン方法を呼び出すことができますか?

答えて

0

確かにXamarinから認証Cookieを渡すことは可能です。あるレベルでは、httpコールを行っています。 http呼び出しにはヘッダーを含めることができ、クッキーは特殊なヘッダーにすぎません。インタラクションのあるHTTPトラフィックを調べ、.aspnetcookieの行に沿った名前のヘッダーがあり、name = reallylongstringoflettersandnumbersの行に沿った値が必要であることに注意してください。ユーザーとパスワードを受け取り、その要求から返されたCookieを取得し、今後のリクエスト(SignalRリクエストを含む)にそれを含めるAPIメソッドを作成できます。私はまったく同じことをやっているので、必要なものが見つからなければ、もっと助けを求めることができます。

関連する問題