浏览代码

微調null檢查

JAELYS 4 年之前
父节点
当前提交
5e266c592f
共有 2 个文件被更改,包括 3 次插入3 次删除
  1. 1 1
      TEAMModelOS/Controllers/Teacher/InitController.cs
  2. 2 2
      TEAMModelOS/Filter/AuthTokenAttribute.cs

+ 1 - 1
TEAMModelOS/Controllers/Teacher/InitController.cs

@@ -141,7 +141,7 @@ namespace TEAMModelOS.Controllers
                 }
 
                 //換取AuthToken,提供給前端
-                var auth_token = JwtAuthExtension.CreateAuthToken(_option.HostName, id, name.ToString(), picture.ToString(), _option.JwtSecretKey, roles: new[] { "Teacher" });
+                var auth_token = JwtAuthExtension.CreateAuthToken(_option.HostName, id, name?.ToString(), picture?.ToString(), _option.JwtSecretKey, roles: new[] { "Teacher" });
 
                 //取得Teacher Blob 容器位置及SAS 
                 var container = _azureStorage.GetBlobContainerClient(id);

+ 2 - 2
TEAMModelOS/Filter/AuthTokenAttribute.cs

@@ -44,8 +44,8 @@ namespace TEAMModelOS.Filter
                     var jwt = new JwtSecurityTokenHandler().ReadJwtToken(authtoken);
                     id = jwt.Payload.Sub;
                     school = jwt.Payload.Azp;
-                    name = jwt.Claims.First(claim => claim.Type == "name").Value;
-                    picture = jwt.Claims.First(claim => claim.Type == "picture").Value;
+                    name = jwt.Claims.FirstOrDefault(claim => claim.Type == "name")?.Value;
+                    picture = jwt.Claims.FirstOrDefault(claim => claim.Type == "picture")?.Value;
 
                     if (!string.IsNullOrWhiteSpace(_roles))
                     {