サービススタックを使用して自己ホスト型の Windows HTTP サービスに取り組んでいます。呼び出し元のアプリケーションを認証するために基本認証 (ユーザー名/パスワード) を実装するように要求しています。これは私が現在使用しているコードで、正常に動作しています。
Plugins.Add(new AuthFeature(() => new AuthUserSession() {},
new IAuthProvider[] { new BasicAuthProvider() })); //CustomBasicAuthProvider()
container.Register<ICacheClient>(new MemoryCacheClient());
var userRepository = new InMemoryAuthRepository();
container.Register<IUserAuthRepository>(userRepository);
string hash;
string salt;
new SaltedHash().GetHashAndSaltString("passwordinhere", out hash, out salt);
userRepository.CreateUserAuth(new UserAuth()
{
Id = 1,
DisplayName = "userdisplayname",
UserName = "usernameinhere",
PasswordHash = hash,
Salt = salt
}
, "app");
サービスからの応答ヘッダーを調べると、2 つの Cookie が含まれていることがはっきりとわかります。
セット Cookie: ss-id=dT8Yy6ejhgfjhgfkVvcxcxCNtngYRS4;path=/
セット Cookie: ss-pid=p4lsgo18JhYF4CTcxkhgkhgffRZob;path=/;expires=Fri, 09 Jan 2037 12:17:03 GMT
セキュリティ上の理由から、これらの Cookie に ;httpOnly フラグを追加するように ServiceStack を構成する必要がありますが、その方法が見つかりません。
みんな、それを行う方法を知っている人はいますか?どんなアイデアでも大歓迎です。
あなたの助けを前もってありがとう:)