Servicestack请求标头不包含cookie

时间:2017-01-13 13:11:53

标签: http cookies typescript servicestack

我正在使用ServiceStack身份验证进行身份验证,并使用http来执行此操作。这可能与我以前的帖子重复,但这是另一个问题。当我发送请求后验证/注销时,请求标头没有会话ID,该会话ID不会在其他网站上注销用户。

如何发送退出登记请求,将用户从他/她登录的所有网站中记录下来?

1 个答案:

答案 0 :(得分:1)

  

如何发送退出登记请求,将用户从他/她登录的所有网站中记录下来?

为了让用户登录,他们需要才能发送ServiceStack的ss-id/ss-pid Session Cookies。如果HTTP请求不包含会话Cookie,则将其视为匿名请求,并且发送注销请求不会产生任何影响。但在大多数情况下,您只需使用用于对用户进行身份验证的相同的HTTP客户端进行身份验证,因为他们会在每次请求时自动发送经过身份验证的会话Cookie。

您可以通过X-前缀向send Session Ids as HTTP Headers发送ServiceStack会话ID的其他方式,例如:

X-ss-id: {sessionId}
X-ss-pid: {permSessionId}
X-ss-opts: ...

或者如果您在AppHost中启用了AllowSessionIdsInHttpParams选项,例如:

SetConfig(new HostConfig {
    AllowSessionIdsInHttpParams = true,
});

您还可以通过QueryString发送Session Ids,例如:

/auth/logout?ss-id=...&ss-pid=...&ss-opts=...