ServiceStack を使用して REST ベースのサービスを作成していますが、認証の一部としてクロスドメインを承認する必要がありますが、Cookie をクロスドメインで読み取ることができないため、認証サービスへの JSON POST が成功し、 SetCookie の結果を返しますが、その Cookie は表示されないため表示されません。
質問は、これを回避する他の方法はありますか?おそらく、リクエストヘッダーなどを介して同じ値を提供できますか?
ServiceStack を使用して REST ベースのサービスを作成していますが、認証の一部としてクロスドメインを承認する必要がありますが、Cookie をクロスドメインで読み取ることができないため、認証サービスへの JSON POST が成功し、 SetCookie の結果を返しますが、その Cookie は表示されないため表示されません。
質問は、これを回避する他の方法はありますか?おそらく、リクエストヘッダーなどを介して同じ値を提供できますか?
クライアントと受信者の両方が許可している場合は、クロス ドメイン リクエストで Cookie を渡すことができます。こちらのリンクをご覧ください
Ajax リクエストでHTTP BasicAuth HTTP ヘッダーを使用できます。サーバーではBasicAuthProvider() を有効にする必要があります。
Plugins.Add(new AuthFeature(
() => new CustomUserSession(), //Use your own typed Custom UserSession type
new IAuthProvider[] {
new BasicAuthProvider(), //Sign-in with Basic Auth
//... other providers
}));
ただし、BasicAuth は UserName/Password の Base64 エンコード バージョンに過ぎないため、SSL 経由で行うのが理想的であることに注意してください。
jQuery を使用して BasicAuth ヘッダーを追加する方法については、この回答を参照してください。