| | |
| | | // 生成 token |
| | | logier.AccessToken = JWTEncryption.Encrypt(new Dictionary<string, object>() |
| | | { |
| | | { "UserInfoId", logier.UserInfoId }, |
| | | { "Id", logier.Id }, |
| | | { "Avatar",logier.Avatar }, |
| | | { "Name",logier.Name }, |
| | | { "UserName",logier.UserName }, |
| | |
| | | { "Level",logier.Level }, |
| | | { "Type",logier.Type }, |
| | | { "ClientType",logier.ClientType }, |
| | | { "EnterpriseId",logier.EnterpriseId }, |
| | | }); |
| | | // 获取刷新 token |
| | | logier.RefreshToken = JWTEncryption.GenerateRefreshToken(logier.AccessToken, 60 * 24); |
| | | |
| | | // 设置响应报文头 |
| | | httpContextAccessor.HttpContext.Response.Headers["access-token"] = logier.AccessToken; |
| | | httpContextAccessor.HttpContext.Response.Headers["x-access-token"] = logier.RefreshToken; |
| | | if (httpContextAccessor.HttpContext != null) |
| | | { |
| | | httpContextAccessor.HttpContext.Response.Headers["access-token"] = logier.AccessToken; |
| | | httpContextAccessor.HttpContext.Response.Headers["x-access-token"] = logier.RefreshToken; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | if (App.User != null && App.User.Identity.IsAuthenticated) |
| | | { |
| | | var logier = new CurrentLogier(); |
| | | if (Guid.TryParse(App.User?.FindFirstValue("UserInfoId"), out var userInfoId)) logier.UserInfoId = userInfoId; |
| | | else return null; |
| | | logier.Id = App.User.FindFirstValue("Id").ToGuid("缺失用户Id,请重新登录").Value; |
| | | logier.Level = App.User.FindFirstValue("Level")?.ToInt() ?? 0; |
| | | logier.Avatar = App.User.FindFirstValue("Avatar"); |
| | | logier.Name = App.User.FindFirstValue("Name"); |
| | | logier.UserName = App.User.FindFirstValue("UserName"); |
| | | logier.PhoneNumber = App.User.FindFirstValue("PhoneNumber"); |
| | | logier.Type = App.User.FindFirstValue("Type").ToEnum<EnumUserType>("请填写用户类型").Value; |
| | | logier.ClientType = App.User.FindFirstValue("ClientType").ToEnum<EnumClientType>("请填写客户端类型").Value; |
| | | logier.Type = App.User.FindFirstValue("Type").ToEnum<EnumUserType>("缺失用户类型,请重新登录").Value; |
| | | logier.ClientType = App.User.FindFirstValue("ClientType").ToEnum<EnumClientType>("缺失客户端类型,请重新登录").Value; |
| | | logier.EnterpriseId = App.User.FindFirstValue("EnterpriseId").ToGuid(); |
| | | return logier; |
| | | } |
| | | return null; |