jwt验证token出错,求大爷们解决

脑残儿童欢乐多 2015-04-01 07:12:42
IDX10708: 'System.IdentityModel.Tokens.JwtSecurityTokenHandler' cannot read this string: '{"typ":"JWT","alg":"HS256"}.{"nameid":"waad|miguel@infoclient1.onmicrosoft.com","unique_name":"Miguel undefined","user_id":"waad|miguel@infoclient1.onmicrosoft.com","given_name":"Miguel","connection":"wonderwareonline.onmicrosoft.com","picture":"https://secure.gravatar.com/avatar/56065b63e24267ff69b22c595b32f80f?s=480\u0026r=pg\u0026d=https%3A%2F%2Fssl.gstatic.com%2Fs2%2Fprofiles%2Fimages%2Fsilhouette80.png","provider":"waad","provider_access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiIwMDAwMDAwMi0wMDAwLTAwMDAtYzAwMC0wMDAwMDAwMDAwMDAvZ3JhcGgud2luZG93cy5uZXQiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9iMzI5MTNmMi1kOWM3LTQ2NmEtYmI5NS02YmRmMzNlY2ZhOTQvIiwiaWF0IjoxNDI0ODA1MzI1LCJuYmYiOjE0MjQ4MDUzMjUsImV4cCI6MTQyNDgwOTIyNSwidmVyIjoiMS4wIiwidGlkIjoiYjMyOTEzZjItZDljNy00NjZhLWJiOTUtNmJkZjMzZWNmYTk0Iiwib2lkIjoiZWZjNzdlMmEtMzc0Mi00MmQwLTg2MzUtYzkxOGNkYjA0ZjkyIiwic3ViIjoiZWZjNzdlMmEtMzc0Mi00MmQwLTg2MzUtYzkxOGNkYjA0ZjkyIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvYjMyOTEzZjItZDljNy00NjZhLWJiOTUtNmJkZjMzZWNmYTk0LyIsImFwcGlkIjoiOWMyOGMxYWQtZGNlYi00YTg3LTg1ZTMtY2ZkZGMzOTU3NjNhIiwiYXBwaWRhY3IiOiIxIn0.tWMfF4e3q_nzwjiFGrvEXT9aw3iJ6is-UdrSgEb6Tr1l02PiRrszxpVUoiNgJ_XiUzkpfbDwz_RxsNmXTi2glheinyQ1aRHbI1y-fhm6qER4UI-XwiVAekuELa8L7wyRO__FqYcEbNmnBegK_ndDkcgNlRKUMW3U5BQySTx7HIyY_MNiTovXRxSpFEfV1rtq29Fq3Hszjb_f1Fe4ShT1fpxKf5IungomOrY4piPa0We73ZIlrBaoP8TcDICCn8eCrxi13NW62F7Zri_R_zI7-TT6xB-bUNoivR88rH7PLtSQb_olQfGWhP-cSztObas1easSYl9ZYnBdAgfl5NpBIg","id_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfaWQiOiI5Y2FlOTVmZTIxNTc0MTE0YjU4MDc3ZDEyNGU2ZThjMiIsInVwbiI6Im1pZ3VlbEBpbmZvY2xpZW50MS5vbm1pY3Jvc29mdC5jb20iLCJhenVyZV9pZCI6IkdHYXZtbGNFblVzNzljTHU4c0pXLUZlTzIycG1TR2lQMjhRRFlvY2d0a0kiLCJnaXZlbl9uYW1lIjoiTWlndWVsIiwibmlja25hbWUiOiJtaWd1ZWxAaW5mb2NsaWVudDEub25taWNyb3NvZnQuY29tIiwidGVuYW50aWQiOiJmNzA0NGQ1Mi1iYTAzLTQyNzQtYmNmMi05ZjFiOTJmZjk1YjkiLCJlbWFpbCI6Im1pZ3VlbEBpbmZvY2xpZW50MS5vbm1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1pZ3VlbCB1bmRlZmluZWQiLCJjbGllbnRJRCI6IlZqS1RON2xXeTlnREcydUh0U3F1cEI2Z3duNk1HWWh6IiwicGljdHVyZSI6Imh0dHBzOi8vc2VjdXJlLmdyYXZhdGFyLmNvbS9hdmF0YXIvNTYwNjViNjNlMjQyNjdmZjY5YjIyYzU5NWIzMmY4MGY_cz00ODAmcj1wZyZkPWh0dHBzJTNBJTJGJTJGc3NsLmdzdGF0aWMuY29tJTJGczIlMkZwcm9maWxlcyUyRmltYWdlcyUyRnNpbGhvdWV0dGU4MC5wbmciLCJ1c2VyX2lkIjoid2FhZHxtaWd1ZWxAaW5mb2NsaWVudDEub25taWNyb3NvZnQuY29tIiwiaWRlbnRpdGllcyI6W3sidXNlcl9pZCI6Im1pZ3VlbEBpbmZvY2xpZW50MS5vbm1pY3Jvc29mdC5jb20iLCJhY2Nlc3NfdG9rZW4iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpTVXpJMU5pSXNJbmcxZENJNklrMXVRMTlXV21OQlZHWk5OWEJQV1dsS1NFMWlZVGxuYjBWTFdTSjkuZXlKaGRXUWlPaUl3TURBd01EQXdNaTB3TURBd0xUQXdNREF0WXpBd01DMHdNREF3TURBd01EQXdNREF2WjNKaGNHZ3VkMmx1Wkc5M2N5NXVaWFFpTENKcGMzTWlPaUpvZEhSd2N6b3ZMM04wY3k1M2FXNWtiM2R6TG01bGRDOWlNekk1TVRObU1pMWtPV00zTFRRMk5tRXRZbUk1TlMwMlltUm1Nek5sWTJaaE9UUXZJaXdpYVdGMElqb3hOREkwT0RBMU16STFMQ0p1WW1ZaU9qRTBNalE0TURVek1qVXNJbVY0Y0NJNk1UUXlORGd3T1RJeU5Td2lkbVZ5SWpvaU1TNHdJaXdpZEdsa0lqb2lZak15T1RFelpqSXRaRGxqTnkwME5qWmhMV0ppT1RVdE5tSmtaak16WldObVlUazBJaXdpYjJsa0lqb2laV1pqTnpkbE1tRXRNemMwTWkwME1tUXdMVGcyTXpVdFl6a3hPR05rWWpBMFpqa3lJaXdpYzNWaUlqb2laV1pqTnpkbE1tRXRNemMwTWkwME1tUXdMVGcyTXpVdFl6a3hPR05rWWpBMFpqa3lJaXdpYVdSd0lqb2lhSFIwY0hNNkx5OXpkSE11ZDJsdVpHOTNjeTV1WlhRdllqTXlPVEV6WmpJdFpEbGpOeTAwTmpaaExXSmlPVFV0Tm1Ka1pqTXpaV05tWVRrMEx5SXNJbUZ3Y0dsa0lqb2lPV015T0dNeFlXUXRaR05sWWkwMFlUZzNMVGcxWlRNdFkyWmtaR016T1RVM05qTmhJaXdpWVhCd2FXUmhZM0lpT2lJeEluMC50V01mRjRlM3Ffbnp3amlGR3J2RVhUOWF3M2lKNmlzLVVkclNnRWI2VHIxbDAyUGlScnN6eHBWVW9pTmdKX1hpVXprcGZiRHd6X1J4c05tWFRpMmdsaGVpbnlRMWFSSGJJMXktZmhtNnFFUjRVSS1Yd2lWQWVrdUVMYThMN3d5Uk9fX0ZxWWNFYk5tbkJlZ0tfbmREa2NnTmxSS1VNVzNVNUJReVNUeDdISXlZX01OaVRvdlhSeFNwRkVmVjFydHEyOUZxM0hzempiX2YxRmU0U2hUMWZweEtmNUl1bmdvbU9yWTRwaVBhMFdlNzNaSWxyQmFvUDhUY0RJQ0NuOGVDcnhpMTNOVzYyRjdacmlfUl96STctVFQ2eEItYlVOb2l2Ujg4ckg3UEx0U1FiX29sUWZHV2hQLWNTenRPYmFzMWVhc1NZbDlaWW5CZEFnZmw1TnBCSWciLCJwcm92aWRlciI6IndhYWQiLCJjb25uZWN0aW9uIjoid29uZGVyd2FyZW9ubGluZS5vbm1pY3Jvc29mdC5jb20iLCJpc1NvY2lhbCI6ZmFsc2V9XSwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMTNUMTk6NTg6MjMuNTMxWiIsImdsb2JhbF9jbGllbnRfaWQiOiI5RkVHWWRKNGVqTUFjdVE4UEt4elY4WDdmQWsycVRoeSIsImlzcyI6Imh0dHBzOi8vd3dvbmxpbmUuYXV0aDAuY29tLyIsInN1YiI6IndhYWR8bWlndWVsQGluZm9jbGllbnQxLm9ubWljcm9zb2Z0LmNvbSIsImF1ZCI6IlZqS1RON2xXeTlnREcydUh0U3F1cEI2Z3duNk1HWWh6IiwiZXhwIjoxNDI0ODQxNjI3LCJpYXQiOjE0MjQ4MDU2Mjd9.Z1DRnucLvcJfI33-y9IH5_BwASz7s3ogxlbRRryfcQE","access_token":"hGBBbPAquMey1ZXl","tenantid":"f7044d52-ba03-4274-bcf2-9f1b92ff95b9","role":["CUSTOMER","ADMINISTRATOR"],"email":"scott.savino@invensys.com","http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider":"ASP.NET Identity","scp":"user_impersonation","tid":"f7044d52-ba03-4274-bcf2-9f1b92ff95b9","iss":"https://sts.windows.net/f7044d52-ba03-4274-bcf2-9f1b92ff95b9/","aud":"https://nchiccontentserver.cloudapp.net","exp":1424892032,"nbf":1424805632}'.

The string needs to be in compact JSON format, which is of the form: '<Base64UrlEncodedHeader>.<Base64UrlEndcodedPayload>.<OPTIONAL, Base64UrlEncodedSignature>'.
...全文
2964 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
 public override async Task Invoke(IOwinContext context)
        {
            // make sure authentication did not happen else where in the pipeline
            if (context.Request.User == null
                || context.Request.User.Identity == null
                || !context.Request.User.Identity.IsAuthenticated)
            {
                var rawToken = GetRawToken(context);
                rawToken =
                   "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJ3YWFkfG1pZ3VlbEBpbmZvY2xpZW50MS5vbm1pY3Jvc29mdC5jb20iLCJ1bmlxdWVfbmFtZSI6Ik1pZ3VlbCB1bmRlZmluZWQiLCJ1c2VyX2lkIjoid2FhZHxtaWd1ZWxAaW5mb2NsaWVudDEub25taWNyb3NvZnQuY29tIiwiZ2l2ZW5fbmFtZSI6Ik1pZ3VlbCIsImNvbm5lY3Rpb24iOiJ3b25kZXJ3YXJlb25saW5lLm9ubWljcm9zb2Z0LmNvbSIsInBpY3R1cmUiOiJodHRwczovL3NlY3VyZS5ncmF2YXRhci5jb20vYXZhdGFyLzU2MDY1YjYzZTI0MjY3ZmY2OWIyMmM1OTViMzJmODBmP3M9NDgwXHUwMDI2cj1wZ1x1MDAyNmQ9aHR0cHMlM0ElMkYlMkZzc2wuZ3N0YXRpYy5jb20lMkZzMiUyRnByb2ZpbGVzJTJGaW1hZ2VzJTJGc2lsaG91ZXR0ZTgwLnBuZyIsInByb3ZpZGVyIjoid2FhZCIsInByb3ZpZGVyX2FjY2Vzc190b2tlbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSlNVekkxTmlJc0luZzFkQ0k2SWsxdVExOVdXbU5CVkdaTk5YQlBXV2xLU0UxaVlUbG5iMFZMV1NKOS5leUpoZFdRaU9pSXdNREF3TURBd01pMHdNREF3TFRBd01EQXRZekF3TUMwd01EQXdNREF3TURBd01EQXZaM0poY0dndWQybHVaRzkzY3k1dVpYUWlMQ0pwYzNNaU9pSm9kSFJ3Y3pvdkwzTjBjeTUzYVc1a2IzZHpMbTVsZEM5aU16STVNVE5tTWkxa09XTTNMVFEyTm1FdFltSTVOUzAyWW1SbU16TmxZMlpoT1RRdklpd2lhV0YwSWpveE5ESTBPREExTXpJMUxDSnVZbVlpT2pFME1qUTRNRFV6TWpVc0ltVjRjQ0k2TVRReU5EZ3dPVEl5TlN3aWRtVnlJam9pTVM0d0lpd2lkR2xrSWpvaVlqTXlPVEV6WmpJdFpEbGpOeTAwTmpaaExXSmlPVFV0Tm1Ka1pqTXpaV05tWVRrMElpd2liMmxrSWpvaVpXWmpOemRsTW1FdE16YzBNaTAwTW1Rd0xUZzJNelV0WXpreE9HTmtZakEwWmpreUlpd2ljM1ZpSWpvaVpXWmpOemRsTW1FdE16YzBNaTAwTW1Rd0xUZzJNelV0WXpreE9HTmtZakEwWmpreUlpd2lhV1J3SWpvaWFIUjBjSE02THk5emRITXVkMmx1Wkc5M2N5NXVaWFF2WWpNeU9URXpaakl0WkRsak55MDBOalpoTFdKaU9UVXRObUprWmpNelpXTm1ZVGswTHlJc0ltRndjR2xrSWpvaU9XTXlPR014WVdRdFpHTmxZaTAwWVRnM0xUZzFaVE10WTJaa1pHTXpPVFUzTmpOaElpd2lZWEJ3YVdSaFkzSWlPaUl4SW4wLnRXTWZGNGUzcV9uendqaUZHcnZFWFQ5YXczaUo2aXMtVWRyU2dFYjZUcjFsMDJQaVJyc3p4cFZVb2lOZ0pfWGlVemtwZmJEd3pfUnhzTm1YVGkyZ2xoZWlueVExYVJIYkkxeS1maG02cUVSNFVJLVh3aVZBZWt1RUxhOEw3d3lST19fRnFZY0ViTm1uQmVnS19uZERrY2dObFJLVU1XM1U1QlF5U1R4N0hJeVlfTU5pVG92WFJ4U3BGRWZWMXJ0cTI5RnEzSHN6amJfZjFGZTRTaFQxZnB4S2Y1SXVuZ29tT3JZNHBpUGEwV2U3M1pJbHJCYW9QOFRjRElDQ244ZUNyeGkxM05XNjJGN1pyaV9SX3pJNy1UVDZ4Qi1iVU5vaXZSODhySDdQTHRTUWJfb2xRZkdXaFAtY1N6dE9iYXMxZWFzU1lsOVpZbkJkQWdmbDVOcEJJZyIsImlkX3Rva2VuIjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SmZhV1FpT2lJNVkyRmxPVFZtWlRJeE5UYzBNVEUwWWpVNE1EYzNaREV5TkdVMlpUaGpNaUlzSW5Wd2JpSTZJbTFwWjNWbGJFQnBibVp2WTJ4cFpXNTBNUzV2Ym0xcFkzSnZjMjltZEM1amIyMGlMQ0poZW5WeVpWOXBaQ0k2SWtkSFlYWnRiR05GYmxWek56bGpUSFU0YzBwWExVWmxUekl5Y0cxVFIybFFNamhSUkZsdlkyZDBhMGtpTENKbmFYWmxibDl1WVcxbElqb2lUV2xuZFdWc0lpd2libWxqYTI1aGJXVWlPaUp0YVdkMVpXeEFhVzVtYjJOc2FXVnVkREV1YjI1dGFXTnliM052Wm5RdVkyOXRJaXdpZEdWdVlXNTBhV1FpT2lKbU56QTBOR1ExTWkxaVlUQXpMVFF5TnpRdFltTm1NaTA1WmpGaU9USm1aamsxWWpraUxDSmxiV0ZwYkNJNkltMXBaM1ZsYkVCcGJtWnZZMnhwWlc1ME1TNXZibTFwWTNKdmMyOW1kQzVqYjIwaUxDSmxiV0ZwYkY5MlpYSnBabWxsWkNJNmRISjFaU3dpYm1GdFpTSTZJazFwWjNWbGJDQjFibVJsWm1sdVpXUWlMQ0pqYkdsbGJuUkpSQ0k2SWxacVMxUk9OMnhYZVRsblJFY3lkVWgwVTNGMWNFSTJaM2R1TmsxSFdXaDZJaXdpY0dsamRIVnlaU0k2SW1oMGRIQnpPaTh2YzJWamRYSmxMbWR5WVhaaGRHRnlMbU52YlM5aGRtRjBZWEl2TlRZd05qVmlOak5sTWpReU5qZG1aalk1WWpJeVl6VTVOV0l6TW1ZNE1HWV9jejAwT0RBbWNqMXdaeVprUFdoMGRIQnpKVE5CSlRKR0pUSkdjM05zTG1kemRHRjBhV011WTI5dEpUSkdjeklsTWtad2NtOW1hV3hsY3lVeVJtbHRZV2RsY3lVeVJuTnBiR2h2ZFdWMGRHVTRNQzV3Ym1jaUxDSjFjMlZ5WDJsa0lqb2lkMkZoWkh4dGFXZDFaV3hBYVc1bWIyTnNhV1Z1ZERFdWIyNXRhV055YjNOdlpuUXVZMjl0SWl3aWFXUmxiblJwZEdsbGN5STZXM3NpZFhObGNsOXBaQ0k2SW0xcFozVmxiRUJwYm1adlkyeHBaVzUwTVM1dmJtMXBZM0p2YzI5bWRDNWpiMjBpTENKaFkyTmxjM05mZEc5clpXNGlPaUpsZVVvd1pWaEJhVTlwU2t0V01WRnBURU5LYUdKSFkybFBhVXBUVlhwSk1VNXBTWE5KYm1jeFpFTkpOa2xyTVhWUk1UbFhWMjFPUWxaSFdrNU9XRUpRVjFkc1MxTkZNV2xaVkd4dVlqQldURmRUU2prdVpYbEthR1JYVVdsUGFVbDNUVVJCZDAxRVFYZE5hVEIzVFVSQmQweFVRWGROUkVGMFdYcEJkMDFETUhkTlJFRjNUVVJCZDAxRVFYZE5SRUYyV2pOS2FHTkhaM1ZrTW14MVdrYzVNMk41TlhWYVdGRnBURU5LY0dNelRXbFBhVXB2WkVoU2QyTjZiM1pNTTA0d1kzazFNMkZYTld0aU0yUjZURzAxYkdSRE9XbE5la2sxVFZST2JVMXBNV3RQVjAwelRGUlJNazV0UlhSWmJVazFUbE13TWxsdFVtMU5lazVzV1RKYWFFOVVVWFpKYVhkcFlWZEdNRWxxYjNoT1JFa3dUMFJCTVUxNlNURk1RMHAxV1cxWmFVOXFSVEJOYWxFMFRVUlZlazFxVlhOSmJWWTBZME5KTmsxVVVYbE9SR2QzVDFSSmVVNVRkMmxrYlZaNVNXcHZhVTFUTkhkSmFYZHBaRWRzYTBscWIybFphazE1VDFSRmVscHFTWFJhUkd4cVRua3dNRTVxV21oTVYwcHBUMVJWZEU1dFNtdGFhazE2V2xkT2JWbFVhekJKYVhkcFlqSnNhMGxxYjJsYVYxcHFUbnBrYkUxdFJYUk5lbU13VFdrd01FMXRVWGRNVkdjeVRYcFZkRmw2YTNoUFIwNXJXV3BCTUZwcWEzbEphWGRwWXpOV2FVbHFiMmxhVjFwcVRucGtiRTF0UlhSTmVtTXdUV2t3TUUxdFVYZE1WR2N5VFhwVmRGbDZhM2hQUjA1cldXcEJNRnBxYTNsSmFYZHBZVmRTZDBscWIybGhTRkl3WTBoTk5reDVPWHBrU0UxMVpESnNkVnBIT1ROamVUVjFXbGhSZGxscVRYbFBWRVY2V21wSmRGcEViR3BPZVRBd1RtcGFhRXhYU21sUFZGVjBUbTFLYTFwcVRYcGFWMDV0V1ZSck1FeDVTWE5KYlVaM1kwZHNhMGxxYjJsUFYwMTVUMGROZUZsWFVYUmFSMDVzV1drd01GbFVaek5NVkdjeFdsUk5kRmt5V210YVIwMTZUMVJWTTA1cVRtaEphWGRwV1ZoQ2QyRlhVbWhaTTBscFQybEplRWx1TUM1MFYwMW1SalJsTTNGZmJucDNhbWxHUjNKMlJWaFVPV0YzTTJsS05tbHpMVlZrY2xOblJXSTJWSEl4YkRBeVVHbFNjbk42ZUhCV1ZXOXBUbWRLWDFocFZYcHJjR1ppUkhkNlgxSjRjMDV0V0ZScE1tZHNhR1ZwYm5sUk1XRlNTR0pKTVhrdFptaHRObkZGVWpSVlNTMVlkMmxXUVdWcmRVVk1ZVGhNTjNkNVVrOWZYMFp4V1dORllrNXRia0psWjB0ZmJtUkVhMk5uVG14U1MxVk5Wek5WTlVKUmVWTlVlRGRJU1hsWlgwMU9hVlJ2ZGxoU2VGTndSa1ZtVmpGeWRIRXlPVVp4TTBoemVtcGlYMll4Um1VMFUyaFVNV1p3ZUV0bU5VbDFibWR2YlU5eVdUUndhVkJoTUZkbE56TmFTV3h5UW1GdlVEaFVZMFJKUTBOdU9HVkRjbmhwTVROT1Z6WXlSamRhY21sZlVsOTZTVGN0VkZRMmVFSXRZbFZPYjJsMlVqZzRja2czVUV4MFUxRmlYMjlzVVdaSFYyaFFMV05UZW5SUFltRnpNV1ZoYzFOWmJEbGFXVzVDWkVGblptdzFUbkJDU1djaUxDSndjbTkyYVdSbGNpSTZJbmRoWVdRaUxDSmpiMjV1WldOMGFXOXVJam9pZDI5dVpHVnlkMkZ5Wlc5dWJHbHVaUzV2Ym0xcFkzSnZjMjltZEM1amIyMGlMQ0pwYzFOdlkybGhiQ0k2Wm1Gc2MyVjlYU3dpWTNKbFlYUmxaRjloZENJNklqSXdNVFV0TURFdE1UTlVNVGs2TlRnNk1qTXVOVE14V2lJc0ltZHNiMkpoYkY5amJHbGxiblJmYVdRaU9pSTVSa1ZIV1dSS05HVnFUVUZqZFZFNFVFdDRlbFk0V0RkbVFXc3ljVlJvZVNJc0ltbHpjeUk2SW1oMGRIQnpPaTh2ZDNkdmJteHBibVV1WVhWMGFEQXVZMjl0THlJc0luTjFZaUk2SW5kaFlXUjhiV2xuZFdWc1FHbHVabTlqYkdsbGJuUXhMbTl1YldsamNtOXpiMlowTG1OdmJTSXNJbUYxWkNJNklsWnFTMVJPTjJ4WGVUbG5SRWN5ZFVoMFUzRjFjRUkyWjNkdU5rMUhXV2g2SWl3aVpYaHdJam94TkRJME9EUXhOakkzTENKcFlYUWlPakUwTWpRNE1EVTJNamQ5LloxRFJudWNMdmNKZkkzMy15OUlINV9Cd0FTejdzM29neGxiUlJyeWZjUUUiLCJhY2Nlc3NfdG9rZW4iOiJoR0JCYlBBcXVNZXkxWlhsIiwidGVuYW50aWQiOiJmNzA0NGQ1Mi1iYTAzLTQyNzQtYmNmMi05ZjFiOTJmZjk1YjkiLCJyb2xlIjpbIkNVU1RPTUVSIiwiQURNSU5JU1RSQVRPUiJdLCJlbWFpbCI6InNjb3R0LnNhdmlub0BpbnZlbnN5cy5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2FjY2Vzc2NvbnRyb2xzZXJ2aWNlLzIwMTAvMDcvY2xhaW1zL2lkZW50aXR5cHJvdmlkZXIiOiJBU1AuTkVUIElkZW50aXR5Iiwic2NwIjoidXNlcl9pbXBlcnNvbmF0aW9uIiwidGlkIjoiZjcwNDRkNTItYmEwMy00Mjc0LWJjZjItOWYxYjkyZmY5NWI5IiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvZjcwNDRkNTItYmEwMy00Mjc0LWJjZjItOWYxYjkyZmY5NWI5LyIsImF1ZCI6Imh0dHBzOi8vbmNoaWNjb250ZW50c2VydmVyLmNsb3VkYXBwLm5ldCIsImV4cCI6MTQyNDg5MjAzMiwibmJmIjoxNDI0ODA1NjMyfQ.Ka0P_XsRfFx0FBy95ox_AAwjzTUxmeBTu3igbRYzg7Y";
                if (rawToken == null)
                {
                    SetUnauthorizedResponse(context);
                    return;
                }
                var tokenHandler = new JwtSecurityTokenHandler();
                var token = tokenHandler.ReadToken(rawToken) as JwtSecurityToken;
                var nullTakenFlag = token == null;
                var tenantId = GetTenantId(token);
                var validIssuer = !nullTakenFlag ? token.Issuer : string.Empty;
                var validFrom = nullTakenFlag ? new DateTime() : token.ValidFrom;
                var validTo = nullTakenFlag ? new DateTime() : token.ValidTo;
                var email = token.Claims.FirstOrDefault(p => p.Type == "email").Value;
                if (tenantId == null
                    || IsAccountExists(email))
                {
                    SetUnauthorizedResponse(context);
                    return;
                }

                var validationParameter = new TokenValidationParameters
                {
                    ValidAudience = audience,
                    ValidIssuer = validIssuer,
                    IssuerSigningToken =
                        new BinarySecretSecurityToken(
                            Convert.FromBase64String(jwtTokenSharedKey.Replace("__CBE_V1__", "")))
                };

                try
                {
                    SecurityToken securityToken;
                    var claimsPrincipal = tokenHandler.ValidateToken(Convert.ToString(token)
                        , validationParameter, out securityToken);
                    if (claimsPrincipal.FindFirst(ScopeClaim).Value != ScopeValue)
                    {
                        SetUnauthorizedResponse(context);
                    }
                    context.Request.User = claimsPrincipal;
                }
                catch (SecurityTokenValidationException ex)
                {
                    SetUnauthorizedResponse(context);
                }
                catch (Exception ex)
                {
                    context.Response.StatusCode = (int) HttpStatusCode.InternalServerError;
                    context.Response.ReasonPhrase = ex.Message;
                }

                if (Next != null)
                {
                    await Next.Invoke(context);
                }
            }
        }
请看代码 进入了 exception

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧