{"id":16355,"date":"2024-05-17T09:31:19","date_gmt":"2024-05-17T09:31:19","guid":{"rendered":"https:\/\/positiwise.com\/blog\/?p=16355"},"modified":"2024-05-27T05:11:31","modified_gmt":"2024-05-27T05:11:31","slug":"jwt-authentication-in-net-core","status":"publish","type":"post","link":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core","title":{"rendered":"Implementing JWT Authentication in .NET Core"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong class=\"pw-highlight-text-color\"><em>Quick Overview:<\/em><\/strong><br>As we know, JWT authentication is gaining popularity in the market when it comes to web development. The core reason behind this popularity is that with the increasing utilization of APIs within the market, their security becomes crucial. This is where JWT comes into place. In this blog post, we will look at the steps to implement JWT <a href=\"https:\/\/positiwise.com\/blog\/a-detailed-guide-on-asp-net-core-authentication\">authentication in .NET Core<\/a>, ensuring the security of your application.<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#A_Run-Through_NET_Core_vs_Nodejs\" >A Run-Through: .NET Core vs Node.js<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#NET_Core\" >.NET Core<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Pros_of_using_NET_Core\" >Pros of using .NET Core<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Nodejs\" >Node.js<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#A_Deep_Dive_into_NET_Core_vs_Nodejs\" >A Deep Dive into .NET Core vs. Node.js<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Processing_Approach_and_Performance\" >Processing Approach and Performance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Security\" >Security<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Scalability\" >Scalability<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Platform_Adaptability\" >Platform Adaptability<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Support_from_Community\" >Support from Community<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Comparison_Table_between_NET_Core_and_Nodejs\" >Comparison Table between .NET Core and Node.js<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\/#Wrapping_Up_on_NET_Core_vs_Nodejs\" >Wrapping Up on .NET Core vs Node.js<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-jwt-authentication\">What is JWT Authentication?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JWT or JSON Web Token is an open standard to pass data between the client and the server. It allows you to transmit the data back and forth between the client, the server, and the consumer in a secure manner. In simple terms, JWT is a compact URL-safe representing the claims to be transferred between the two parties. The claims in a JWT are generally used for authentication and information exchange in web development. It is digitally signed, making it secure and verifiable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-steps-to-implement-jwt-authentication-in-net-core\">Steps To Implement JWT Authentication in .NET Core<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Implementing JWT (JSON Web Token) authentication in a .NET Core application is an ideal way to secure your APIs and web applications. Below is a step-by-step guide to implementing .NET JWT authentication in .NET Core.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-create-your-new-net-core-web-api-project\">Step 1: Create Your New .NET Core Web API Project<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Initially, you must create a net .NET Core Web API project in Visual Studio or by using the <strong><em>\u2018dotnet new webapi\u2014n Positiwise<\/em><\/strong>\u2019 command from the command line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The command above will create a new .NET Core Web API project named \u201cPositiwise\u201d in the current directory. You can easily find this directory and start working on your project. Using Visual Studio, you can create a new project via its interface by selecting the ideal template.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-2-install-required-nuget-packages\">Step 2: Install Required NuGet Packages<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Install the necessary packages using the NuGet Package Manager or by using the command line when you are using the Visual Studio Code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer\ndotnet add package System.IdentityModel.Tokens.Jwt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">These commands allow adding packages required for implementing the JWT authentication in an ASP<a href=\"https:\/\/positiwise.com\/technologies\/dot-net-development\">.NET Core application<\/a>. The <strong><em>Microsoft.AspNetCore.Authentication.JwtBearer<\/em><\/strong> package provides .NET JWT authentication middleware, while <strong><em>System.IdentityModel.Tokens.Jwt<\/em><\/strong> offers support for generating and validating JWTs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure that the .NET CLI is already installed on your system and that you run these commands in the root directory of your ASP.NET Core project. These commands fetch and install the specified packages and their dependencies into your project.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-configure-jwt-authentication-in-startup-cs\">Step 3: Configure JWT Authentication in \u2018Startup.cs\u2019<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the file <strong><em>\u2018Startup.cs\u2019<\/em><\/strong> and then within the <strong><em>\u2018ConfigureServices\u2019 <\/em><\/strong>method, add the .NET JWT authentication services:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services.AddAuthentication(options =>\n{\n    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;\n    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;\n})\n.AddJwtBearer(options =>\n{\n    options.TokenValidationParameters = new TokenValidationParameters\n    {\n        ValidateIssuer = true,\n        ValidateAudience = true,\n        ValidateLifetime = true,\n        ValidateIssuerSigningKey = true,\n        ValidIssuer = Configuration&#91;\"Jwt:Issuer\"],\n        ValidAudience = Configuration&#91;\"Jwt:Issuer\"],\n        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration&#91;\"Jwt:Key\"]))\n    };\n});<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This configuration sets up the application to authenticate incoming requests using the JWT tokens and validate them based on certain parameters.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-4-add-the-jwt-middleware-to-the-pipeline\">Step 4: Add the JWT Middleware to the Pipeline<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Add the authentication middleware inside the<strong><em> \u2018Configure\u2019<\/em><\/strong> method of <strong><em>\u2018Startup.cs\u2019<\/em><\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n{\n    \/\/ Other middleware configurations...\n\n    \/\/ Add .NET JWT authentication middleware\n    app.UseAuthentication();\n\n    \/\/ Other middleware configurations...\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure that you add this line after the middleware that manages the routing but before any middleware that may need authentication, such as authorization middleware.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By adding this line, you instruct ASP.NET Core to include the JWT authentication middleware in the request processing pipeline, allowing your app to authenticate incoming requests using JWT tokens.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-5-generate-the-jwt-tokens\">Step 5: Generate the JWT Tokens<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create a method to generate the JWT tokens. Generally, this will be included in your authentication services.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public string GenerateJwtToken(string userId)\n{\n    var tokenHandler = new JwtSecurityTokenHandler();\n    var key = Encoding.ASCII.GetBytes(\"yourSecretKey\");\n    var tokenDescriptor = new SecurityTokenDescriptor\n    {\n        Subject = new ClaimsIdentity(new&#91;] { new Claim(\"id\", userId) }),\n        Expires = DateTime.UtcNow.AddDays(7),\n        SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)\n    };\n    var token = tokenHandler.CreateToken(tokenDescriptor);\n    return tokenHandler.WriteToken(token);\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-6-authenticate-users-and-issue-the-jwt-tokens\">Step 6: Authenticate Users And Issue The JWT Tokens<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Implement the method to authenticate users, validate the credentials, and issue the JWT tokens.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;HttpPost(\"login\")]\npublic IActionResult Login(LoginModel model)\n{\n    \/\/ Authenticate user\n    var user = _userService.Authenticate(model.Username, model.Password);\n\n    if (user == null)\n        return Unauthorized();\n\n    \/\/ Generate JWT token\n    var token = _authenticationService.GenerateJwtToken(user.Id);\n\n    return Ok(new { token });\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-7-secure-your-api-endpoints\">Step-7 Secure Your API Endpoints<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Then, add the \u2018[Authorize]\u2019 attribute to the controller or the action methods needing authentication.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Authorize]\n&#91;ApiController]\n&#91;Route(\"&#91;controller]\")]\npublic class YourController : ControllerBase\n{\n    \/\/ Your authenticated endpoints\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-8-validate-and-decode-jwt-tokens\">Step 8: Validate And Decode JWT Tokens<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You can easily access the authenticated user\u2019s information from the JWT token in your API controllers or middleware.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var userId = User.FindFirst(\"id\").Value;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-9-test-your-net-jwt-authentication\">Step 9: Test Your .NET JWT Authentication<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can use tools like Postman or Fiddler to test your API endpoints. Authenticate them using the login endpoint to gain a JWT token, which you can include in the Authorization header of subsequent requests.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After receiving the JWT token from the login endpoint, store it securely; then, you will use it to authenticate the other requests to protected endpoints.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, for each subsequent request to a protected endpoint, include the JWT token in the Authorization header. Set the header value to<strong><em> \u201cBearer {your_token}\u201d <\/em><\/strong>where <strong><em>\u201c{your_token}\u201d<\/em><\/strong> is replaced with the actual JWT token that you obtained earlier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Send your request to the desired API endpoints with the JWT token in the Authorization header. The API server will then validate the token and, if it is valid, allow access to the protected resources.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify that you are receiving the expected responses from the API endpoints. If everything is set up correctly, you can access the protected resources without issues.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure that the JWT tokens typically have an expiration time. If your token expires, you must get new ones by repeating the previous steps.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, it is a great idea to test how your API manages the invalid or expired tokens. Send requests with incorrect or expired tokens, and ensure your API returns the correct error messages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-10-handle-token-expiration-and-refreshing-optional\">Step 10: Handle Token Expiration and Refreshing (Optional)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You may like to implement the token expiration and refreshing logic to handle the expired tokens without requiring your user to log in again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Following these steps, you can implement the JWT authentication within your .NET Core application, delivering a secure and efficient way to protect your APIs and web resources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the end, we can conclude that Authentication and Authorization in .NET Core are crucial to the security and safety of your application, and implementing JWT authentication in <a href=\"https:\/\/positiwise.com\/hire-asp-net-developers\">.NET Core<\/a> allows a robust and secure solution for authenticating your users and protecting the resources in web applications. Leveraging the JSON Web Tokens, your development team can effectively manage the user sessions, authorize access to endpoints, and improve overall security measures. Through the integration of JWT authentication, .NET Core applications can achieve scalability, flexibility, and interoperability, ensuring a seamless user experience while prioritizing data integrity and confidentiality. As technology continues to evolve, embracing .NET JWT authentication in .NET Core remains a pivotal strategy for safeguarding sensitive information and fortifying the integrity of modern web applications.<\/p>\n  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Related Posts<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\".Net Core vs. Java \u2013 Which One You Should Use for Your Projects?\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-java-technology\">\r\n\r\n      <img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"800\" src=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\".Net Core vs. Java \u2013 Which One You Should Use for Your Projects?\" srcset=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1.jpg 1200w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1-300x200.jpg 300w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1-1024x683.jpg 1024w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1-768x512.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\".Net Core vs. Java \u2013 Which One You Should Use for Your Projects?\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-java-technology\">\r\n        .Net Core vs. Java \u2013 Which One You Should Use for Your Projects?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Precise Road Map for ASP.NET Developers\" href=\"https:\/\/positiwise.com\/blog\/roadmap-for-asp-dot-net-developers\">\r\n\r\n      <img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"621\" src=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Hire ASP.NET Developers - A Precise Road Map to Employ ASP.NET Developers\" srcset=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1.jpg 1021w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1-300x182.jpg 300w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1-768x467.jpg 768w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Precise Road Map for ASP.NET Developers\" href=\"https:\/\/positiwise.com\/blog\/roadmap-for-asp-dot-net-developers\">\r\n        Precise Road Map for ASP.NET Developers  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\".NET Core vs Node.js: The Difference Explained by Web Expert\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\">\r\n\r\n      <img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"621\" src=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/NET-Core-VS-Node-js-jpg.webp\" class=\"attachment-full size-full wp-post-image\" alt=\"NET-Core-VS-Node-js\" srcset=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/NET-Core-VS-Node-js-jpg.webp 1021w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/NET-Core-VS-Node-js-300x182.webp 300w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/NET-Core-VS-Node-js-768x467.webp 768w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\".NET Core vs Node.js: The Difference Explained by Web Expert\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-node-js\">\r\n        .NET Core vs Node.js: The Difference Explained by Web Expert  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 5px;\r\n      padding: 0px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 2rem !important;\r\n      color: #212529 !important;\r\n          }\r\n\r\n    .related-post .headline {\r\nmargin-top: 0;\r\npadding-left: 1%;\r\n}.related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 0px 0px 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 1rem;\r\n      color: #212529;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 13px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 3,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 3,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: true,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: true,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Quick Overview:As we know, JWT authentication is gaining popularity in the market when it comes to web development. [&hellip;]<\/p>\n  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Related Posts<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\".Net Core vs. Java \u2013 Which One You Should Use for Your Projects?\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-java-technology\">\r\n\r\n      <img width=\"1200\" height=\"800\" src=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\".Net Core vs. Java \u2013 Which One You Should Use for Your Projects?\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1.jpg 1200w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1-300x200.jpg 300w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1-1024x683.jpg 1024w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2021\/12\/web-security-partner-1-768x512.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\".Net Core vs. Java \u2013 Which One You Should Use for Your Projects?\" href=\"https:\/\/positiwise.com\/blog\/net-core-vs-java-technology\">\r\n        .Net Core vs. Java \u2013 Which One You Should Use for Your Projects?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Precise Road Map for ASP.NET Developers\" href=\"https:\/\/positiwise.com\/blog\/roadmap-for-asp-dot-net-developers\">\r\n\r\n      <img width=\"1021\" height=\"621\" src=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Hire ASP.NET Developers - A Precise Road Map to Employ ASP.NET Developers\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1.jpg 1021w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1-300x182.jpg 300w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/dealership-1200x800-1-768x467.jpg 768w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Precise Road Map for ASP.NET Developers\" href=\"https:\/\/positiwise.com\/blog\/roadmap-for-asp-dot-net-developers\">\r\n        Precise Road Map for ASP.NET Developers  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"A Descriptive Guide to .NET Framework\" href=\"https:\/\/positiwise.com\/blog\/a-descriptive-guide-to-dot-net-framework\">\r\n\r\n      <img width=\"1021\" height=\"621\" src=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/a-descriptive-guide-to-dot-net-framework.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"A Descriptive Guide to .NET Framework\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/a-descriptive-guide-to-dot-net-framework.jpg 1021w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/a-descriptive-guide-to-dot-net-framework-300x182.jpg 300w, https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2022\/01\/a-descriptive-guide-to-dot-net-framework-768x467.jpg 768w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"A Descriptive Guide to .NET Framework\" href=\"https:\/\/positiwise.com\/blog\/a-descriptive-guide-to-dot-net-framework\">\r\n        A Descriptive Guide to .NET Framework  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 5px;\r\n      padding: 0px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 2rem !important;\r\n      color: #212529 !important;\r\n          }\r\n\r\n    .related-post .headline {\r\nmargin-top: 0;\r\npadding-left: 1%;\r\n}.related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 0px 0px 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 1rem;\r\n      color: #212529;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 13px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 3,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 3,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: true,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: true,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>\r\n","protected":false},"author":3,"featured_media":16453,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[7],"tags":[821,818,822,819],"class_list":["post-16355","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dot-net-development","tag-authentication-and-authorization","tag-jwt-authentication","tag-net-core-authentication-2","tag-net-jwt-authentication"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Implementing JWT Authentication in .NET Core - Positiwise<\/title>\n<meta name=\"description\" content=\"JWT Authentication in .NET Core to secure your web applications. This covers configuring JWT in ASP.NET Core, and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implementing JWT Authentication in .NET Core - Positiwise\" \/>\n<meta property=\"og:description\" content=\"JWT Authentication in .NET Core to secure your web applications. This covers configuring JWT in ASP.NET Core, and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core\" \/>\n<meta property=\"og:site_name\" content=\"Positiwise\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/positiwise\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-17T09:31:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-27T05:11:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2024\/05\/JWT-Authentication-in-NET-Core-jpg.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1021\" \/>\n\t<meta property=\"og:image:height\" content=\"621\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Parag Mehta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@positiwise\" \/>\n<meta name=\"twitter:site\" content=\"@positiwise\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Parag Mehta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core\"},\"author\":{\"name\":\"Parag Mehta\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#\\\/schema\\\/person\\\/b4b3d9970ea94f5914a615f70345353a\"},\"headline\":\"Implementing JWT Authentication in .NET Core\",\"datePublished\":\"2024-05-17T09:31:19+00:00\",\"dateModified\":\"2024-05-27T05:11:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core\"},\"wordCount\":1018,\"publisher\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/JWT-Authentication-in-NET-Core-jpg.webp\",\"keywords\":[\"authentication and authorization\",\"jwt authentication\",\"net core authentication\",\"net jwt authentication\"],\"articleSection\":[\".NET Development\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2022\",\"copyrightHolder\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core\",\"url\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core\",\"name\":\"Implementing JWT Authentication in .NET Core - Positiwise\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/JWT-Authentication-in-NET-Core-jpg.webp\",\"datePublished\":\"2024-05-17T09:31:19+00:00\",\"dateModified\":\"2024-05-27T05:11:31+00:00\",\"description\":\"JWT Authentication in .NET Core to secure your web applications. This covers configuring JWT in ASP.NET Core, and best practices.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core#primaryimage\",\"url\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/JWT-Authentication-in-NET-Core-jpg.webp\",\"contentUrl\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/JWT-Authentication-in-NET-Core-jpg.webp\",\"width\":1021,\"height\":621,\"caption\":\"JWT-Authentication-in-NET-Core\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/jwt-authentication-in-net-core#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/positiwise.com\\\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Implementing JWT Authentication in .NET Core\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/\",\"name\":\"Positiwise\",\"description\":\"Providing Full-cycle Software Development Services\",\"publisher\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#organization\"},\"alternateName\":\"Positiwise Software Pvt Ltd\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#organization\",\"name\":\"Positiwise\",\"alternateName\":\"Positiwise Software Pvt Ltd\",\"url\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo.png\",\"width\":202,\"height\":29,\"caption\":\"Positiwise\"},\"image\":{\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/positiwise\\\/\",\"https:\\\/\\\/x.com\\\/positiwise\",\"https:\\\/\\\/github.com\\\/positiwise\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/positiwise\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/#\\\/schema\\\/person\\\/b4b3d9970ea94f5914a615f70345353a\",\"name\":\"Parag Mehta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/072ea4a638415a77610a840228d51b8225ad88856ed34d69cbe1fcd638390535?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/072ea4a638415a77610a840228d51b8225ad88856ed34d69cbe1fcd638390535?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/072ea4a638415a77610a840228d51b8225ad88856ed34d69cbe1fcd638390535?s=96&r=g\",\"caption\":\"Parag Mehta\"},\"description\":\"Parag Mehta, the CEO and Founder of Positiwise Software Pvt Ltd has extensive knowledge of the development niche. He is implementing custom strategies to craft highly-appealing and robust applications for its clients and supporting employees to grow and ace the tasks. He is a consistent learner and always provides the best-in-quality solutions, accelerating productivity.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/paragcmehta\"],\"url\":\"https:\\\/\\\/positiwise.com\\\/blog\\\/author\\\/parag-mehta\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Implementing JWT Authentication in .NET Core - Positiwise","description":"JWT Authentication in .NET Core to secure your web applications. This covers configuring JWT in ASP.NET Core, and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core","og_locale":"en_US","og_type":"article","og_title":"Implementing JWT Authentication in .NET Core - Positiwise","og_description":"JWT Authentication in .NET Core to secure your web applications. This covers configuring JWT in ASP.NET Core, and best practices.","og_url":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core","og_site_name":"Positiwise","article_publisher":"https:\/\/www.facebook.com\/positiwise\/","article_published_time":"2024-05-17T09:31:19+00:00","article_modified_time":"2024-05-27T05:11:31+00:00","og_image":[{"width":1021,"height":621,"url":"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2024\/05\/JWT-Authentication-in-NET-Core-jpg.webp","type":"image\/jpeg"}],"author":"Parag Mehta","twitter_card":"summary_large_image","twitter_creator":"@positiwise","twitter_site":"@positiwise","twitter_misc":{"Written by":"Parag Mehta","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core#article","isPartOf":{"@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core"},"author":{"name":"Parag Mehta","@id":"https:\/\/positiwise.com\/blog\/#\/schema\/person\/b4b3d9970ea94f5914a615f70345353a"},"headline":"Implementing JWT Authentication in .NET Core","datePublished":"2024-05-17T09:31:19+00:00","dateModified":"2024-05-27T05:11:31+00:00","mainEntityOfPage":{"@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core"},"wordCount":1018,"publisher":{"@id":"https:\/\/positiwise.com\/blog\/#organization"},"image":{"@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core#primaryimage"},"thumbnailUrl":"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2024\/05\/JWT-Authentication-in-NET-Core-jpg.webp","keywords":["authentication and authorization","jwt authentication","net core authentication","net jwt authentication"],"articleSection":[".NET Development"],"inLanguage":"en-US","copyrightYear":"2022","copyrightHolder":{"@id":"https:\/\/positiwise.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core","url":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core","name":"Implementing JWT Authentication in .NET Core - Positiwise","isPartOf":{"@id":"https:\/\/positiwise.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core#primaryimage"},"image":{"@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core#primaryimage"},"thumbnailUrl":"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2024\/05\/JWT-Authentication-in-NET-Core-jpg.webp","datePublished":"2024-05-17T09:31:19+00:00","dateModified":"2024-05-27T05:11:31+00:00","description":"JWT Authentication in .NET Core to secure your web applications. This covers configuring JWT in ASP.NET Core, and best practices.","breadcrumb":{"@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core#primaryimage","url":"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2024\/05\/JWT-Authentication-in-NET-Core-jpg.webp","contentUrl":"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2024\/05\/JWT-Authentication-in-NET-Core-jpg.webp","width":1021,"height":621,"caption":"JWT-Authentication-in-NET-Core"},{"@type":"BreadcrumbList","@id":"https:\/\/positiwise.com\/blog\/jwt-authentication-in-net-core#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/positiwise.com\/blog"},{"@type":"ListItem","position":2,"name":"Implementing JWT Authentication in .NET Core"}]},{"@type":"WebSite","@id":"https:\/\/positiwise.com\/blog\/#website","url":"https:\/\/positiwise.com\/blog\/","name":"Positiwise","description":"Providing Full-cycle Software Development Services","publisher":{"@id":"https:\/\/positiwise.com\/blog\/#organization"},"alternateName":"Positiwise Software Pvt Ltd","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/positiwise.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/positiwise.com\/blog\/#organization","name":"Positiwise","alternateName":"Positiwise Software Pvt Ltd","url":"https:\/\/positiwise.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/positiwise.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2023\/07\/logo.png","contentUrl":"https:\/\/positiwise.com\/blog\/wp-content\/uploads\/2023\/07\/logo.png","width":202,"height":29,"caption":"Positiwise"},"image":{"@id":"https:\/\/positiwise.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/positiwise\/","https:\/\/x.com\/positiwise","https:\/\/github.com\/positiwise","https:\/\/www.linkedin.com\/company\/positiwise"]},{"@type":"Person","@id":"https:\/\/positiwise.com\/blog\/#\/schema\/person\/b4b3d9970ea94f5914a615f70345353a","name":"Parag Mehta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/072ea4a638415a77610a840228d51b8225ad88856ed34d69cbe1fcd638390535?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/072ea4a638415a77610a840228d51b8225ad88856ed34d69cbe1fcd638390535?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/072ea4a638415a77610a840228d51b8225ad88856ed34d69cbe1fcd638390535?s=96&r=g","caption":"Parag Mehta"},"description":"Parag Mehta, the CEO and Founder of Positiwise Software Pvt Ltd has extensive knowledge of the development niche. He is implementing custom strategies to craft highly-appealing and robust applications for its clients and supporting employees to grow and ace the tasks. He is a consistent learner and always provides the best-in-quality solutions, accelerating productivity.","sameAs":["https:\/\/www.linkedin.com\/in\/paragcmehta"],"url":"https:\/\/positiwise.com\/blog\/author\/parag-mehta"}]}},"_links":{"self":[{"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/posts\/16355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/comments?post=16355"}],"version-history":[{"count":4,"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/posts\/16355\/revisions"}],"predecessor-version":[{"id":16365,"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/posts\/16355\/revisions\/16365"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/media\/16453"}],"wp:attachment":[{"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/media?parent=16355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/categories?post=16355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/positiwise.com\/blog\/wp-json\/wp\/v2\/tags?post=16355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}