【发布时间】:2017-11-22 02:01:21
【问题描述】:
- ServiceStack 5.0 版
- ServiceStack Typescript 客户端版本 0.0.40
以下代码调用我的身份验证微服务并成功验证用户并返回承载令牌:
var request = new Authenticate();
request.provider = "credentials";
request.userName = userName;
request.password = password;
request.useTokenCookie = true;
this.client.post(request)
.then(res => {
if (res.bearerToken != null) {
console.log('auth success', res);
console.log('auth refresh token', res.refreshToken);
resolve(true);
}
resolve(false);
}, msg => {
console.log('log in failed');
reject(msg);
})
问题是我的 Auth 微服务没有返回刷新令牌:
我的身份验证微服务配置:
Plugins.Add(new AuthFeature(() => new CustomUserSession(),
new IAuthProvider[] {
new JwtAuthProvider
{
HashAlgorithm = AuthSettings.HashAlgorithm,
RequireSecureConnection = requireSecureConnection,
AuthKeyBase64 = AuthSettings.JwtAuthKeyBase64,
ExpireTokensIn = TimeSpan.FromHours(_configuration["AuthSettings:ExpireTokensIn"].ToDouble()),
ExpireRefreshTokensIn = TimeSpan.FromHours(_configuration["AuthSettings:ExpireRefreshTokensIn"].ToDouble()),
CreatePayloadFilter = (payload,session) => {
payload["zipCode"] = ((CustomUserSession)session).ZipCode;
},
PopulateSessionFilter = AuthSettings.PopulateSessionFilterImplementation
},
new CustomCredentialsAuthProvider((ITsoContext)_serviceProvider.GetService(typeof(ITsoContext))) //HTML Form post of User/Pass
}));
【问题讨论】: