|
@@ -1,7 +1,10 @@
|
|
|
+using Grpc.Extension.Common;
|
|
|
using IdentityModel;
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
using Microsoft.IdentityModel.Tokens;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
using System;
|
|
|
+using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
using System.IdentityModel.Tokens.Jwt;
|
|
|
using System.Linq;
|
|
@@ -10,6 +13,7 @@ using System.Security.Cryptography;
|
|
|
using System.Threading.Tasks;
|
|
|
using TEAMModelOS.SDK.Context.Configuration;
|
|
|
using TEAMModelOS.SDK.Extension.JwtAuth.Models;
|
|
|
+using TEAMModelOS.SDK.Helper.Common.JsonHelper;
|
|
|
using TEAMModelOS.SDK.Helper.Security.RSACrypt;
|
|
|
|
|
|
namespace HiTeachCE.Extension
|
|
@@ -77,32 +81,16 @@ namespace HiTeachCE.Extension
|
|
|
return null;
|
|
|
}
|
|
|
JwtSecurityToken jwtToken = jwtHandler.ReadJwtToken(jwtStr);
|
|
|
- object role = new object(); ;
|
|
|
- jwtToken.Payload.TryGetValue(ClaimTypes.Role, out role);
|
|
|
-
|
|
|
- //var tm = new TokenModelJWT
|
|
|
- //{
|
|
|
- // Uid = (jwtToken.Id).ObjToInt(),
|
|
|
- // Role = role != null ? role.ObjToString() : "",
|
|
|
- //};
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // var jwtHandler = new JwtSecurityTokenHandler();
|
|
|
- // JwtSecurityToken jwtToken = jwtHandler.ReadJwtToken(jwtStr);
|
|
|
+ jwtToken.Payload.TryGetValue(JwtClaimTypes.Role, out object role);
|
|
|
ClaimModel claimModel = new ClaimModel();
|
|
|
- //object role = new object();
|
|
|
- // claimModel.Claim = jwtToken.Claims.ToDictionary(claim => claim.Type, claim => claim.Value);
|
|
|
Dictionary<string, object> claimDict = new Dictionary<string, object>();
|
|
|
foreach (Claim claim in jwtToken.Claims)
|
|
|
{
|
|
|
claimDict.TryAdd(claim.Type, claim.Value);
|
|
|
}
|
|
|
- claimDict[ClaimTypes.Role] = role;
|
|
|
+ claimDict[JwtClaimTypes.Role] = role;
|
|
|
claimModel.Claim = claimDict;
|
|
|
claimModel.Claims = jwtToken.Claims.ToList();
|
|
|
- jwtToken.Payload.TryGetValue(ClaimTypes.Role, out role);
|
|
|
- if (role != null) claimModel.Roles = role.ToString().Split(",").ToList();
|
|
|
return claimModel;
|
|
|
}
|
|
|
}
|