我正在使用ServiceStack身份验证进行身份验证,并使用http来执行此操作。这可能与我以前的帖子重复,但这是另一个问题。当我发送请求后验证/注销时,请求标头没有会话ID,该会话ID不会在其他网站上注销用户。
如何发送退出登记请求,将用户从他/她登录的所有网站中记录下来?
答案 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=...