【发布时间】:2017-12-06 06:52:06
【问题描述】:
在 ServiceStack 中,我使用的是 JwtAuthProvider,我在其中获得了 Bearer Token 和 Refresh 令牌,那么如何验证令牌并授权 Web api 服务? 代码:
var client = new JsvServiceClient(ListeningOn) { UserName = "tuser", Password = "password" };
client.Send<AssignRolesResponse>(new AssignRoles
{
UserName = "tuser",
Roles = new ArrayOfString("TestRole"),
Permissions = new ArrayOfString("GetStatus")
});
var jwtToken = client.Send(new Authenticate()).BearerToken;
这里,'jwtToken'值有什么用?用户已经获得授权和身份验证,所以我不明白为什么这里需要令牌?
谁能建议我如何利用该令牌? 智威汤逊配置:
this.Plugins.Add(new AuthFeature(() => new AuthUserSession(),
new IAuthProvider[]
{
new JwtAuthProvider(AppSettings) {
RequireSecureConnection = false,
AuthKey = AesUtils.CreateKey(),
//CreatePayloadFilter = (payload,session) =>
// payload["CreatedAt"] = session.CreatedAt.ToUnixTime().ToString(),
CreatePayloadFilter = (jwtPayload, session) =>
jwtPayload["exp"] = DateTime.UtcNow.AddSeconds(-1).ToUnixTime().ToString()
},
new CredentialsAuthProvider(AppSettings),
new BasicAuthProvider()
}));
【问题讨论】:
标签: servicestack jwt