Browse Source

更新包目录

CrazyIter 4 years ago
parent
commit
86b1df4fe5
59 changed files with 204 additions and 202 deletions
  1. 2 2
      TEAMModelOS.SDK/Extension/DataResult/JsonRequest/AzureJsonRequest.cs
  2. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonRequest/BaseJosnRequest.cs
  3. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonRequest/JosnRequest.cs
  4. 2 2
      TEAMModelOS.SDK/Extension/DataResult/JsonRequest/PaginationRequest.cs
  5. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/BaseResponse.cs
  6. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/DataJsonResponse.cs
  7. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/EmptyJosnResponse.cs
  8. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/ErrorJosnResponse.cs
  9. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/ErrorModel.cs
  10. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/JsonRPCResult.cs
  11. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/PageJosnResponse.cs
  12. 2 2
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/PageJsonResult.cs
  13. 2 2
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/ResponseBuilder.cs
  14. 1 1
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/TokenJosnResponse.cs
  15. 2 2
      TEAMModelOS.SDK/Extension/DataResult/JsonResponse/TokenJsonResult.cs
  16. 1 1
      TEAMModelOS.SDK/Extension/DataResult/PageToken/AzurePagination.cs
  17. 1 1
      TEAMModelOS.SDK/Extension/DataResult/PageToken/AzureTableToken.cs
  18. 1 1
      TEAMModelOS.SDK/Extension/DataResult/PageToken/Pagination.cs
  19. 2 2
      TEAMModelOS.SDK/Extension/DataResult/RequestData/AzureTokenRequest.cs
  20. 1 1
      TEAMModelOS.SDK/Extension/DataResult/RequestData/BaseRequest.cs
  21. 2 2
      TEAMModelOS.SDK/Extension/DataResult/RequestData/PaginationRequest.cs
  22. 1 1
      TEAMModelOS.SDK/Module/AzureTable/Configuration/HaBookTableContinuationToken.cs
  23. 1 1
      TEAMModelOS.SDK/Module/AzureTable/Implements/AzureTableDBRepository.cs
  24. 1 1
      TEAMModelOS.SDK/Module/AzureTable/Interfaces/IAzureTableDBRepository.cs
  25. 2 2
      TEAMModelOS/Controllers/Analysis/AchievementController.cs
  26. 2 2
      TEAMModelOS/Controllers/Analysis/ChangeController.cs
  27. 1 1
      TEAMModelOS/Controllers/Analysis/ClassController.cs
  28. 30 0
      TEAMModelOS/Controllers/BaseController.cs
  29. 2 2
      TEAMModelOS/Controllers/Client/ClientController.cs
  30. 70 7
      TEAMModelOS/Controllers/Core/AuthController.cs
  31. 2 2
      TEAMModelOS/Controllers/Core/BlobController.cs
  32. 2 2
      TEAMModelOS/Controllers/Core/CommonController.cs
  33. 2 2
      TEAMModelOS/Controllers/Core/FileController.cs
  34. 2 2
      TEAMModelOS/Controllers/Core/LoginController.cs
  35. 2 2
      TEAMModelOS/Controllers/Exam/ExamController.cs
  36. 2 2
      TEAMModelOS/Controllers/Exam/ImportExerciseController.cs
  37. 2 2
      TEAMModelOS/Controllers/Exam/PaperController.cs
  38. 2 2
      TEAMModelOS/Controllers/School/ClassRoomController.cs
  39. 2 2
      TEAMModelOS/Controllers/School/ClassStudentController.cs
  40. 2 2
      TEAMModelOS/Controllers/School/CourseController.cs
  41. 2 2
      TEAMModelOS/Controllers/School/SchoolController.cs
  42. 2 2
      TEAMModelOS/Controllers/Student/StudentController.cs
  43. 2 2
      TEAMModelOS/Controllers/Syllabus/ItemInfoController.cs
  44. 2 2
      TEAMModelOS/Controllers/Syllabus/KnowledgeController.cs
  45. 2 2
      TEAMModelOS/Controllers/Syllabus/ResourceController.cs
  46. 2 2
      TEAMModelOS/Controllers/Syllabus/SyllabusController.cs
  47. 2 2
      TEAMModelOS/Controllers/Syllabus/VolumeController.cs
  48. 2 2
      TEAMModelOS/Controllers/Task/HomeworkController.cs
  49. 2 2
      TEAMModelOS/Controllers/Task/LearnController.cs
  50. 2 2
      TEAMModelOS/Controllers/Task/SurveyController.cs
  51. 2 2
      TEAMModelOS/Controllers/Task/VoteController.cs
  52. 2 2
      TEAMModelOS/Controllers/Teacher/CommentController.cs
  53. 2 2
      TEAMModelOS/Controllers/Teacher/SchoolUserController.cs
  54. 2 2
      TEAMModelOS/Controllers/Test/TestAPIController.cs
  55. 2 2
      TEAMModelOS/Controllers/Test/TestController.cs
  56. 0 2
      TEAMModelOS/Startup.cs
  57. 6 1
      TEAMModelOS/TEAMModelOS.csproj
  58. 5 52
      TEAMModelOS/appsettings.Development.json
  59. 5 52
      TEAMModelOS/appsettings.json

+ 2 - 2
TEAMModelOS.SDK/Extension/DataResult/JsonRequest/AzureJsonRequest.cs

@@ -1,9 +1,9 @@
-using TEAMModelOS.SDK.Extension.DataResult.RequestData;
+using TEAMModelOS.SDK;
 using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest
+namespace TEAMModelOS.SDK
 {
     /// <summary>
     /// 

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonRequest/BaseJosnRequest.cs

@@ -1,7 +1,7 @@
 
 using System;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest
+namespace TEAMModelOS.SDK
 {
     
     public abstract class BaseJosnRequest

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonRequest/JosnRequest.cs

@@ -3,7 +3,7 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest
+namespace TEAMModelOS.SDK
 {
     
     public class JosnRequest<T>:BaseJosnRequest

+ 2 - 2
TEAMModelOS.SDK/Extension/DataResult/JsonRequest/PaginationRequest.cs

@@ -1,8 +1,8 @@
 
 
-using TEAMModelOS.SDK.Extension.DataResult.RequestData;
+using TEAMModelOS.SDK;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest
+namespace TEAMModelOS.SDK
 {
     public  class PaginationRequest<T> : BaseJosnRequest
     {

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/BaseResponse.cs

@@ -1,7 +1,7 @@
 
 using Microsoft.VisualBasic;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public class BaseResponse 

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/DataJsonResponse.cs

@@ -3,7 +3,7 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public class DataJsonResponse<T> : BaseResponse

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/EmptyJosnResponse.cs

@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     public class EmptyJosnResponse :BaseResponse
     {

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/ErrorJosnResponse.cs

@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
 
     public class ErrorJosnResponse : BaseResponse

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/ErrorModel.cs

@@ -2,7 +2,7 @@
 
 using System.Collections.Generic;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
    

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/JsonRPCResult.cs

@@ -3,7 +3,7 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public class JsonRPCResult<T>

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/PageJosnResponse.cs

@@ -3,7 +3,7 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public class PageJosnResponse<T> : BaseResponse

+ 2 - 2
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/PageJsonResult.cs

@@ -1,7 +1,7 @@
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public class PageJsonResult<T> : JsonRPCResult<T>

+ 2 - 2
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/ResponseBuilder.cs

@@ -1,10 +1,10 @@
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 
 using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public  class ResponseBuilder

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/TokenJosnResponse.cs

@@ -3,7 +3,7 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public class TokenJosnResponse<T>: BaseResponse

+ 2 - 2
TEAMModelOS.SDK/Extension/DataResult/JsonResponse/TokenJsonResult.cs

@@ -1,10 +1,10 @@
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 
 using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
+namespace TEAMModelOS.SDK
 {
     
     public class TokenJsonResult<T> : JsonRPCResult<T>

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/PageToken/AzurePagination.cs

@@ -1,7 +1,7 @@
 
 using System.Collections.Generic;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.PageToken
+namespace TEAMModelOS.SDK
 {
     
     public class AzurePagination<T>

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/PageToken/AzureTableToken.cs

@@ -1,7 +1,7 @@
 
 using System.ComponentModel.DataAnnotations;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.PageToken
+namespace TEAMModelOS.SDK
 {
     
     public class AzureTableToken

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/PageToken/Pagination.cs

@@ -2,7 +2,7 @@
 using System;
 using System.Collections.Generic;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.PageToken
+namespace TEAMModelOS.SDK
 {
     
     public class Pagination

+ 2 - 2
TEAMModelOS.SDK/Extension/DataResult/RequestData/AzureTokenRequest.cs

@@ -1,9 +1,9 @@
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 using System;
 using System.Collections.Generic;
 using System.Text;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.RequestData
+namespace TEAMModelOS.SDK
 {
    public class AzureTokenRequest<T> :BaseRequest
    {

+ 1 - 1
TEAMModelOS.SDK/Extension/DataResult/RequestData/BaseRequest.cs

@@ -1,7 +1,7 @@
 using System;
 using System.Collections.Generic;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.RequestData
+namespace TEAMModelOS.SDK
 {
     public class BaseRequest
     {

+ 2 - 2
TEAMModelOS.SDK/Extension/DataResult/RequestData/PaginationRequest.cs

@@ -1,6 +1,6 @@
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 
-namespace TEAMModelOS.SDK.Extension.DataResult.RequestData
+namespace TEAMModelOS.SDK
 {
     public class PaginationRequest<T> : BaseRequest
     {

+ 1 - 1
TEAMModelOS.SDK/Module/AzureTable/Configuration/HaBookTableContinuationToken.cs

@@ -2,7 +2,7 @@
 using Microsoft.Azure.Cosmos.Table;
 using System;
 using System.ComponentModel.DataAnnotations;
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.ValidateHelper;
 
 namespace TEAMModelOS.SDK.Module.AzureTable.Configuration

+ 1 - 1
TEAMModelOS.SDK/Module/AzureTable/Implements/AzureTableDBRepository.cs

@@ -1,6 +1,6 @@
 using TEAMModelOS.SDK.Module.AzureTable.Configuration;
 using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 using System;
 using System.Collections.Concurrent;
 using System.Collections.Generic;

+ 1 - 1
TEAMModelOS.SDK/Module/AzureTable/Interfaces/IAzureTableDBRepository.cs

@@ -1,5 +1,5 @@
 using TEAMModelOS.SDK.Module.AzureTable.Configuration;
-using TEAMModelOS.SDK.Extension.DataResult.PageToken;
+using TEAMModelOS.SDK;
 using System.Collections.Generic;
 using System.Threading.Tasks;
 using Microsoft.Azure.Cosmos.Table;

+ 2 - 2
TEAMModelOS/Controllers/Analysis/AchievementController.cs

@@ -4,8 +4,8 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Common.StringHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;

+ 2 - 2
TEAMModelOS/Controllers/Analysis/ChangeController.cs

@@ -7,8 +7,8 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.Helper.Common.FileHelper;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Common.DateTimeHelper;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;

+ 1 - 1
TEAMModelOS/Controllers/Analysis/ClassController.cs

@@ -8,7 +8,7 @@ using System.Linq;
 using System.Threading.Tasks;
 
 using TEAMModelOS.Helper.Common.FileHelper;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 
 namespace TEAMModelOS.Starter.CloudServer.Controllers.AnalysisControllers

+ 30 - 0
TEAMModelOS/Controllers/BaseController.cs

@@ -7,6 +7,11 @@ using TEAMModelOS.SDK.Context.Constant.Common;
 using System.Security.Claims;
 using TEAMModelOS.Service.Models;
 using TEAMModelOS.SDK.Helper.Security.ShaHash;
+using System.IdentityModel.Tokens.Jwt;
+using Microsoft.IdentityModel.Tokens;
+using System.Text;
+using System;
+using System.Diagnostics;
 
 namespace TEAMModelOS.Controllers
 {
@@ -43,5 +48,30 @@ namespace TEAMModelOS.Controllers
             }
             return claimValues;
         }
+
+        public static bool ValidateIdToken(string token, string salt)
+        {
+            try
+            {
+                var handler = new JwtSecurityTokenHandler();
+                var validationParameters = new TokenValidationParameters
+                {
+                    RequireExpirationTime = true,
+                    ValidateIssuer = false,
+                    ValidateAudience = false,
+                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(salt)),
+                    ValidateLifetime = false,
+                    //LifetimeValidator = LifetimeValidator,
+                    ClockSkew = TimeSpan.Zero
+                };
+                ClaimsPrincipal principal = handler.ValidateToken(token, validationParameters, out SecurityToken securityToken);
+                return true;
+            }
+            catch (Exception ex)
+            {
+                Trace.WriteLine(ex.Message);
+                return false;
+            }
+        }
     }
 }

+ 2 - 2
TEAMModelOS/Controllers/Client/ClientController.cs

@@ -3,8 +3,8 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 using TEAMModelOS.SDK.Helper.Common.LogHelper;
 using TEAMModelOS.SDK.Module.AzureBlob.Configuration;

+ 70 - 7
TEAMModelOS/Controllers/Core/AuthController.cs

@@ -1,14 +1,21 @@
 using Microsoft.AspNetCore.Authentication;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Configuration;
+using Microsoft.IdentityModel.Tokens;
+using OpenXmlPowerTools;
 using System;
 using System.Collections.Generic;
+using System.IdentityModel.Tokens.Jwt;
 using System.Linq;
+using System.Security.Claims;
+using System.Text;
 using System.Text.Json;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK.Context.Configuration;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 using TEAMModelOS.SDK.Helper.Network.HttpHelper;
+using TEAMModelOS.SDK.Helper.Security.AESCrypt;
+using TEAMModelOS.SDK.Helper.Security.DesCrypt;
 
 namespace TEAMModelOS.Controllers
 {
@@ -35,14 +42,70 @@ namespace TEAMModelOS.Controllers
             return new { url, refresh_token= JsonApiHelper.FromApiJson<JsonElement>(token) };
         }
 
-        [HttpPost("idToken")]
-        public object IdToken(string token)
+        [HttpPost("validateIdToken")]
+        public object ValidateIdToken(string token)
         {
-             
-            string url = BaseConfigModel.Configuration["HaBookAuth:IES5Auth:url"];
-            Dictionary<string, object> refresh_token = BaseConfigModel.Configuration.GetSection("HaBookAuth:IES5Auth:refresh_token").Get<Dictionary<string, object>>();
-            token = refresh_token.ToApiJson().Replace("{access_token}", token);
-            return new { url, refresh_token = JsonApiHelper.FromApiJson<JsonElement>(token) };
+            
+            //CoreTokenExtensions.ValidateIdToken
+            AESCrypt crypt = new AESCrypt();
+            var des = DES3Crypt.EncryptString("www.teammodel.cn");
+            var aes = crypt.Encrypt("www.teammodel.cn");
+            var a = CreateToken("habook0001", des,new string[] { "admin","teacher"},new string []{"update","create" });
+            var b = CreateToken("habook0001", aes);
+            return new { des  ,aes, a ,b };
+        }
+
+        public static string CreateToken(string userID, string salt, string[] roles = null, string[] permissions = null, int expire = 86400)
+        {
+            // 設定要加入到 JWT Token 中的聲明資訊(Claims)
+            var claims = new List<Claim>();
+            string iss = BaseConfigModel.Configuration.GetSection("JwtSetting:Issuer").Get<string>();
+            // 在 RFC 7519 規格中(Section#4),總共定義了 7 個預設的 Claims
+            claims.Add(new Claim(JwtRegisteredClaimNames.Iss, iss)); //發行者
+            claims.Add(new Claim(JwtRegisteredClaimNames.Sub, userID)); // 用戶ID            
+            claims.Add(new Claim(JwtRegisteredClaimNames.Exp, DateTimeOffset.UtcNow.AddHours(expire).ToUnixTimeSeconds().ToString())); // 到期的時間,必須為數字
+
+            // 擴充 "roles" 加入登入者的角色,角色類型 (USER、HABOOK)   
+            if (roles != null)
+            {
+                foreach (var role in roles)
+                {
+                    claims.Add(new Claim("roles", role));
+                }
+            }
+            // 擴充 "permissions" 加入登入者的權限請求  
+            if (permissions != null)
+            {
+                foreach (var role in permissions)
+                {
+                    claims.Add(new Claim("permissions", role));
+                }
+            }
+
+            var userClaimsIdentity = new ClaimsIdentity(claims);
+
+            // 建立一組對稱式加密的金鑰,主要用於 JWT 簽章之用
+            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(salt));
+
+            // HmacSha256 有要求必須要大於 128 bits,所以 salt 不能太短,至少要 16 字元以上
+            // https://stackoverflow.com/questions/47279947/idx10603-the-algorithm-hs256-requires-the-securitykey-keysize-to-be-greater
+            var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);
+
+            // 建立 SecurityTokenDescriptor
+            var tokenDescriptor = new SecurityTokenDescriptor
+            {
+                Issuer = iss,
+                Subject = userClaimsIdentity,
+                Expires = DateTime.Now.AddSeconds(expire),
+                SigningCredentials = signingCredentials
+            };
+
+            // 產出所需要的 JWT securityToken 物件,並取得序列化後的 Token 結果(字串格式)
+            var tokenHandler = new JwtSecurityTokenHandler();
+            var securityToken = tokenHandler.CreateToken(tokenDescriptor);
+            var serializeToken = tokenHandler.WriteToken(securityToken);
+
+            return serializeToken;
         }
     }
 }

+ 2 - 2
TEAMModelOS/Controllers/Core/BlobController.cs

@@ -7,8 +7,8 @@ using System.Text.Json;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK.Context.Configuration;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 using TEAMModelOS.SDK.Helper.Network.HttpHelper;
 using TEAMModelOS.SDK.Module.AzureBlob.Configuration;

+ 2 - 2
TEAMModelOS/Controllers/Core/CommonController.cs

@@ -10,8 +10,8 @@ using System.Text.Json;
 using System.Threading.Tasks;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper.JsonPath;
 using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;

+ 2 - 2
TEAMModelOS/Controllers/Core/FileController.cs

@@ -8,8 +8,8 @@ using System.Threading.Tasks;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Constant.Common;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Security.AESCrypt;
 using TEAMModelOS.SDK.Module.AzureBlob.Configuration;

+ 2 - 2
TEAMModelOS/Controllers/Core/LoginController.cs

@@ -10,8 +10,8 @@ using System.Threading.Tasks;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Constant.Common;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Extension.JwtAuth.JwtHelper;
 using TEAMModelOS.SDK.Extension.JwtAuth.Models;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;

+ 2 - 2
TEAMModelOS/Controllers/Exam/ExamController.cs

@@ -5,8 +5,8 @@ using System.Threading.Tasks;
 using Microsoft.AspNetCore.Mvc;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
 using TEAMModelOS.Service.Models;

+ 2 - 2
TEAMModelOS/Controllers/Exam/ImportExerciseController.cs

@@ -6,8 +6,8 @@ using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK.Context.Constant.Common;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.Service.Model.PowerPoint; 
 using TEAMModelOS.Service.Services.Exam.Implements;
 using TEAMModelOS.Service.Services.Exam.Interfaces;

+ 2 - 2
TEAMModelOS/Controllers/Exam/PaperController.cs

@@ -3,8 +3,8 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
 using TEAMModelOS.Service.Models;
 

+ 2 - 2
TEAMModelOS/Controllers/School/ClassRoomController.cs

@@ -5,8 +5,8 @@ using System.Text;
 using System.Threading.Tasks;
 using TEAMModelOS.Service.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
 using TEAMModelOS.SDK.Helper.Common.ValidateHelper;

+ 2 - 2
TEAMModelOS/Controllers/School/ClassStudentController.cs

@@ -5,8 +5,8 @@ using System.Threading.Tasks;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Common.ValidateHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;

+ 2 - 2
TEAMModelOS/Controllers/School/CourseController.cs

@@ -8,8 +8,8 @@ using OpenXmlPowerTools;
 using Org.BouncyCastle.Ocsp;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;

+ 2 - 2
TEAMModelOS/Controllers/School/SchoolController.cs

@@ -4,8 +4,8 @@ using System.Collections.Generic;
 using System.Text;
 using System.Threading.Tasks;
 using TEAMModelOS.Service.Models;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;

+ 2 - 2
TEAMModelOS/Controllers/Student/StudentController.cs

@@ -3,8 +3,8 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Security.TmdCrypt;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;

+ 2 - 2
TEAMModelOS/Controllers/Syllabus/ItemInfoController.cs

@@ -4,8 +4,8 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.Service.Models;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3; 
 

+ 2 - 2
TEAMModelOS/Controllers/Syllabus/KnowledgeController.cs

@@ -5,8 +5,8 @@ using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 using TEAMModelOS.SDK.Helper.Security.ShaHash;

+ 2 - 2
TEAMModelOS/Controllers/Syllabus/ResourceController.cs

@@ -4,8 +4,8 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureBlob.Interfaces;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;

+ 2 - 2
TEAMModelOS/Controllers/Syllabus/SyllabusController.cs

@@ -2,8 +2,8 @@
 using System.Collections.Generic;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Extension.SnowFlake;
 using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;

+ 2 - 2
TEAMModelOS/Controllers/Syllabus/VolumeController.cs

@@ -5,8 +5,8 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Extension.SnowFlake;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Security.ShaHash;

+ 2 - 2
TEAMModelOS/Controllers/Task/HomeworkController.cs

@@ -11,8 +11,8 @@ using System.Threading.Tasks;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Configuration;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Helper.Common.DateTimeHelper;
 using TEAMModelOS.SDK.Helper.Common.JsonHelper;

+ 2 - 2
TEAMModelOS/Controllers/Task/LearnController.cs

@@ -4,8 +4,8 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.DateTimeHelper;
 using TEAMModelOS.SDK.Helper.Common.ValidateHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;

+ 2 - 2
TEAMModelOS/Controllers/Task/SurveyController.cs

@@ -5,8 +5,8 @@ using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
 using TEAMModelOS.Service.Models;

+ 2 - 2
TEAMModelOS/Controllers/Task/VoteController.cs

@@ -9,8 +9,8 @@ using Microsoft.Azure.Cosmos.Linq;
 using Microsoft.Azure.Documents.SystemFunctions;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
 using TEAMModelOS.Service.Models;

+ 2 - 2
TEAMModelOS/Controllers/Teacher/CommentController.cs

@@ -5,8 +5,8 @@ using System.Linq;
 using System.Threading.Tasks;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
 using TEAMModelOS.Service.Models;

+ 2 - 2
TEAMModelOS/Controllers/Teacher/SchoolUserController.cs

@@ -3,8 +3,8 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Threading.Tasks;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
 using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;

+ 2 - 2
TEAMModelOS/Controllers/Test/TestAPIController.cs

@@ -10,8 +10,8 @@ using System.Collections.Generic;
 using Microsoft.WindowsAzure.Storage.Table;
 using Microsoft.WindowsAzure.Storage;
 using Newtonsoft.Json;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 
 namespace TEAMModelOS.Controllers.Test
 {

+ 2 - 2
TEAMModelOS/Controllers/Test/TestController.cs

@@ -7,8 +7,8 @@ using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK.Context.Exception;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
 
 namespace TEAMModelOS.Controllers.Test

+ 0 - 2
TEAMModelOS/Startup.cs

@@ -128,8 +128,6 @@ namespace TEAMModelOS
             //HttpContextAccessor,并用来访问HttpContext。
             services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
             services.AddSingleton<IServiceBusReviceService, ServiceBusReviceService>();
-            //引入Jwt配置
-            //services.JwtAuth(Configuration.GetSection("JwtSetting"));
             //注入CSRedis
             var csredis = new CSRedis.CSRedisClient(Configuration.GetSection("Azure:Redis:ConnectionString").Get<string>());
            // CSRedis.CSRedisClient.Serialize = obj =>System.Text.Json.JsonSerializer.Serialize(obj);

+ 6 - 1
TEAMModelOS/TEAMModelOS.csproj

@@ -22,9 +22,15 @@
   </ItemGroup>
   <ItemGroup>
     <!-- Don't publish the SPA source files, but do show them in the project files list -->
+    <Compile Remove="JsonFile\Subject\**" />
     <Content Remove="$(SpaRoot)**" />
+    <Content Remove="JsonFile\Subject\**" />
     <None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
   </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Remove="JsonFile\Subject\**" />
+    <None Remove="JsonFile\Subject\**" />
+  </ItemGroup>
   <ItemGroup>
     <None Remove="ClientApp\src\static\BaseDataDefault.json" />
   </ItemGroup>
@@ -37,7 +43,6 @@
   </ItemGroup>
 
   <ItemGroup>
-    <Folder Include="JsonFile\Subject\" />
     <Folder Include="wwwroot\" />
     <Folder Include="JwtRsaFile\" />
     <Folder Include="logfile\" />

+ 5 - 52
TEAMModelOS/appsettings.Development.json

@@ -11,7 +11,11 @@
     "Location": "China",
     "LocationNum": "1",
     "HostName": "localhost:5001",
-    "AllowedHosts": [ "localhost", "*.teammodel.cn", "*.teammodel.net", "*.habookaclass.biz", "test" ]
+    "AllowedHosts": [ "localhost", "*.teammodel.cn", "*.teammodel.net", "*.habookaclass.biz", "test" ],
+    "Issuer": "www.teammodel.cn",
+    "JwtSecretKey": "fXO6ko/qyXeYrkecPeKdgXnuLXf9vMEtnBC9OB3s+aA=",
+    "Exp": 86400,
+    "IdTokenSalt": "8263692E2213497BB55E74792B7900B4"
   },
   "Azure": {
     "Table": {
@@ -20,14 +24,6 @@
     "Blob": {
       "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodelstorage;AccountKey=Yq7D4dE6cFuer2d2UZIccTA/i0c3sJ/6ITc8tNOyW+K5f+/lWw9GCos3Mxhj47PyWQgDL8YbVD63B9XcGtrMxQ==;EndpointSuffix=core.chinacloudapi.cn",
        "Container": "teammodelos"
-      //系统管理员 资源,题目关联,htex关联,学习活动学生上传文件关联,基本信息关联,教室平面图关联,评测冷数据关联
-     // "system": [ "res", "item", "htex", "task", "info", "room", "exam" ],
-      //资源,题目关联,htex关联,学习活动学生上传文件关联,基本信息关联,教室平面图关联,评测冷数据关联
-      //"school": [ "res", "item", "htex", "task", "info", "room", "exam" ],
-      //资源,题目关联,htex关联,学习活动关联,教师基本信息关联
-      //"teacher": [ "res", "item", "htex", "task", "info" ],
-      //答案及学习活动上传的文件,学生基本信息关联
-     // "student": [ "stu/{studentId}/ans", "stu/{studentId}/task" ]
     },
     "CosmosDB": {
       "ConnectionString": "https://teammodelos.documents.azure.cn:443/",
@@ -76,48 +72,5 @@
     "SmsUser": "Chengdu",
     "SmsKey": "XaHPbnPLd0NPTfnUCUD5cRlhY2nEEUCj"
   },
-  "Language": [
-    {
-      "Name": "臺灣",
-      "CountryCode": "",
-      "SmsLang": "CHT",
-      "Language": "zh-tw"
-    },
-    {
-      "Name": "香港",
-      "CountryCode": "852",
-      "SmsLang": "CHT",
-      "Language": "zh-hk"
-    },
-    {
-      "Name": "澳門",
-      "CountryCode": "853",
-      "SmsLang": "CHT",
-      "Language": "zh-mo"
-    },
-    {
-      "Name": "大陆",
-      "CountryCode": "",
-      "SmsLang": "CHS",
-      "Language": "zh-ch"
-    },
-    {
-      "Name": "Other",
-      "CountryCode": "000",
-      "SmsLang": "EN",
-      "Language": "en"
-    }
-  ],
-  "JwtSetting": {
-    "Issuer": "HaBook", //签发者
-    "Audience": "TEAMModelOS",
-    "JwtClient": [
-      {
-        "Name": "WebApp",
-        "Project": "TEAMModelOS",
-        "Exp": 86400
-      }
-    ]
-  },
   "BasicRouter": "{\"data\":[{\"name\":\"testschooldashboard\",\"path\":\"testschooldashboard\",\"component\":\"smartschooldashboard/Index.vue\"},{\"name\":\"testschool\",\"path\":\"testschool\",\"component\":\"school-mgmt/Index.vue\",\"children\":[{\"name\":\"system\",\"path\":\"system\",\"component\":\"school-mgmt/SystemSetting/SystemSetting.vue\"},{\"name\":\"classroom\",\"path\":\"classroom\",\"component\":\"school-mgmt/ClassroomSetting/ClassroomSetting.vue\"}]}]}"
 }

+ 5 - 52
TEAMModelOS/appsettings.json

@@ -11,7 +11,11 @@
     "Location": "China",
     "LocationNum": "1",
     "HostName": "localhost:5001",
-    "AllowedHosts": [ "localhost", "*.teammodel.cn", "*.teammodel.net", "*.habookaclass.biz", "test" ]
+    "AllowedHosts": [ "localhost", "*.teammodel.cn", "*.teammodel.net", "*.habookaclass.biz", "test" ],
+    "Issuer": "www.teammodel.cn",
+    "JwtSecretKey": "fXO6ko/qyXeYrkecPeKdgXnuLXf9vMEtnBC9OB3s+aA=",
+    "Exp": 86400,
+    "IdTokenSalt": "8263692E2213497BB55E74792B7900B4"
   },
   "Azure": {
     "Table": {
@@ -20,14 +24,6 @@
     "Blob": {
       "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodelstorage;AccountKey=Yq7D4dE6cFuer2d2UZIccTA/i0c3sJ/6ITc8tNOyW+K5f+/lWw9GCos3Mxhj47PyWQgDL8YbVD63B9XcGtrMxQ==;EndpointSuffix=core.chinacloudapi.cn",
       "Container": "teammodelos"
-      //系统管理员 资源,题目关联,htex关联,学习活动学生上传文件关联,基本信息关联,教室平面图关联,评测冷数据关联
-      //"system": [ "res", "item", "htex", "task", "info", "room", "exam" ],
-      //资源,题目关联,htex关联,学习活动学生上传文件关联,基本信息关联,教室平面图关联,评测冷数据关联
-     // "school": [ "res", "item", "htex", "task", "info", "room", "exam" ],
-      //资源,题目关联,htex关联,学习活动关联,教师基本信息关联
-     // "teacher": [ "res", "item", "htex", "task", "info" ],
-      //答案及学习活动上传的文件,学生基本信息关联
-      //"student": [ "ans/{studentId}", "stu/{studentId}" ]
     },
     "CosmosDB": {
       "ConnectionString": "https://teammodelos.documents.azure.cn:443/",
@@ -76,48 +72,5 @@
     "SmsUser": "Chengdu",
     "SmsKey": "XaHPbnPLd0NPTfnUCUD5cRlhY2nEEUCj"
   },
-  "Language": [
-    {
-      "Name": "臺灣",
-      "CountryCode": "886",
-      "SmsLang": "CHT",
-      "Language": "zh-tw"
-    },
-    {
-      "Name": "香港",
-      "CountryCode": "852",
-      "SmsLang": "CHT",
-      "Language": "zh-hk"
-    },
-    {
-      "Name": "澳門",
-      "CountryCode": "853",
-      "SmsLang": "CHT",
-      "Language": "zh-mo"
-    },
-    {
-      "Name": "大陆",
-      "CountryCode": "86",
-      "SmsLang": "CHS",
-      "Language": "zh-ch"
-    },
-    {
-      "Name": "Other",
-      "CountryCode": "000",
-      "SmsLang": "EN",
-      "Language": "en"
-    }
-  ],
-  "JwtSetting": {
-    "Issuer": "HaBook", //签发者
-    "Audience": "TEAMModelOS",
-    "JwtClient": [
-      {
-        "Name": "WebApp",
-        "Project": "TEAMModelOS",
-        "Exp": 86400
-      }
-    ]
-  },
   "BasicRouter": "{\"data\":[{\"name\":\"testschooldashboard\",\"path\":\"testschooldashboard\",\"component\":\"smartschooldashboard/Index.vue\"},{\"name\":\"testschool\",\"path\":\"testschool\",\"component\":\"school-mgmt/Index.vue\",\"children\":[{\"name\":\"system\",\"path\":\"system\",\"component\":\"school-mgmt/SystemSetting/SystemSetting.vue\"},{\"name\":\"classroom\",\"path\":\"classroom\",\"component\":\"school-mgmt/ClassroomSetting/ClassroomSetting.vue\"}]}]}"
 }