ServiceStacks JsonServiceClient中的凭据格式是什么?

时间:2016-11-19 23:12:23

标签: typescript servicestack

我尝试使用ServiceStack的打字稿JsonServiceClient,它适用于不需要身份验证的路由,但我找不到任何有关如何使用它的文档认证路线。

我使用基本身份验证,如果我手动设置授权标头,我可以使用它,但我看到JsonServiceClient的凭据属性是字符串。

凭据字符串应使用哪种格式来使用基本身份验证(或任何其他身份验证提供程序),如何确保在每次请求时都发送基本身份验证标头?

我知道我不必像穴居人一样手动设置授权标题。

1 个答案:

答案 0 :(得分:2)

如果您已注册CredentialsAuthProvider,则可以使用正常的Web服务请求进行身份验证,例如:

var client = new JsonServiceClient(baseUrl);
client.Post(new Authenticate {
    provider = "credentials",
    UserName = userName,
    Password = password,
    RememberMe = true,
});

如果成功(即不投掷),ServiceClient将填充ServiceStack's Session Cookies,允许它进行经过身份验证的请求。

如果启用了HTTP Basic Auth,即注册了BasicAuthProvider,那么您可以使用内置的用户名/密码属性为每个请求发送HTTP Basic Auth凭证,即:

var client = new JsonServiceClient(baseUrl) {
    UserName = userName,
    Password = password
};

如果您使用ApiKeyAuthProvider注册了JwtAuthProviderspecify an API Key,则使用服务客户端进行身份验证的其他选项是specifying a JWT Token