在ServiceStack中不使用cookie进行身份验证

时间:2012-12-04 20:03:30

标签: servicestack

我正在使用ServiceStack编写基于REST的服务,但作为身份验证的一部分,我需要授权跨域,但是不能跨域读取cookie,所以即使我的JSON POST到了身份验证服务成功并返回SetCookie结果,它永远不会看到该cookie,因为它无法看到它。

问题是,有没有其他方法,也许我可以通过请求标题提供相同的值或什么?

2 个答案:

答案 0 :(得分:2)

如果客户端和接收方都允许,您可以在跨域请求中传递Cookie。看看这个link here

答案 1 :(得分:1)

您可以在您的Ajax请求中使用HTTP BasicAuth HTTP标头,服务器需要BasicAuthProvider() enabled,例如:

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发生。

请参阅此答案,了解如何add BasicAuth headers using jQuery

相关问题