BaseController.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using HiTeachCE.Extension;
  2. using Microsoft.AspNetCore.Http;
  3. using Microsoft.AspNetCore.Mvc;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Security.Claims;
  8. using System.Threading.Tasks;
  9. using TEAMModelOS.SDK.Context.Constant.Common;
  10. using TEAMModelOS.SDK.Extension.JwtAuth.Models;
  11. namespace HiTeachCE.Controllers
  12. {
  13. public class BaseController : Controller
  14. {
  15. public string GetLoginUser(string claimType)
  16. {
  17. var tokenHeader = "";
  18. HttpRequest request = HttpContext.Request;
  19. if (request.Headers.ContainsKey(Constants.AUTHORIZATION))
  20. {
  21. tokenHeader = request.Headers[Constants.AUTHORIZATION];
  22. //tokenHeader = tokenHeader.ToString().Substring("Bearer ".Length).Trim();
  23. tokenHeader = tokenHeader.Replace("Bearer ", "");
  24. }
  25. if (request.Query.ContainsKey(Constants.ACCESS_TOKEN))
  26. {
  27. tokenHeader = request.Query[Constants.ACCESS_TOKEN];
  28. tokenHeader = tokenHeader.Trim();
  29. }
  30. if (string.IsNullOrEmpty(tokenHeader))
  31. {
  32. return null;
  33. }
  34. ClaimModel claimModel = JwtHelper.SerializeJWT(tokenHeader);
  35. // claimModel.Claim.TryGetValue(claimType, out var claimValue);
  36. string claimValues = "";
  37. foreach (Claim claim in claimModel.Claims)
  38. {
  39. if (claim.Type.Equals(claimType))
  40. {
  41. claimValues= claimValues+claim.Value+",";
  42. }
  43. }
  44. claimValues = claimValues.Substring(0, claimValues.Length - 1);
  45. return claimValues;
  46. }
  47. }
  48. }