【发布时间】:2019-08-28 19:34:01
【问题描述】:
当使用邮递员的 JWT 时。我得到一个不记名令牌。但是从服务调用 UserAuth 时的所有请求都是空的。同样在我的自定义 AuthUSerSession 会话中为空。
我从身份验证设置中删除了 basicauth。贴在下面。并且它仍然通过基本身份验证,并且会话仍然为空。我想我错过了一些东西。有人可以帮帮我吗?
public class CustomUserSession : AuthUserSession
{
public override bool IsAuthorized(string provider)
{
string sessionKey = SessionFeature.GetSessionKey(this.Id);
var cacheClient = HostContext.TryResolve<ICacheClient>();
CustomUserSession session = cacheClient.Get<CustomUserSession>(sessionKey);
if (session == null)
{
return false;
}
return session.IsAuthenticated;
}
}
//我的认证设置
Plugins.Add(new AuthFeature(() => new CustomUserSession(),
new IAuthProvider[]
{
new JwtAuthProvider(AppSettings) {
CreatePayloadFilter = (payload,session) =>
payload["CreatedAt"] = session.CreatedAt.ToUnixTime().ToString(),
InvalidateTokensIssuedBefore = DateTime.Now,
SetBearerTokenOnAuthenticateResponse = true,
AuthKeyBase64 = AppSettings.GetString("jwt.auth.key"),
RequireSecureConnection = false,
}, //JWT TOKENS
new CredentialsAuthProvider(AppSettings)
})
{
HtmlRedirect = "/",
});
【问题讨论】:
标签: c# servicestack