{"id":721,"date":"2025-04-11T16:15:18","date_gmt":"2025-04-11T08:15:18","guid":{"rendered":"https:\/\/witlab.ph\/blog\/?p=721"},"modified":"2025-04-19T18:55:35","modified_gmt":"2025-04-19T10:55:35","slug":"understanding-oauth-2-0-and-openid-connect-oidc","status":"publish","type":"post","link":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/","title":{"rendered":"Understanding OAuth 2.0 and OpenID Connect (OIDC)"},"content":{"rendered":"\n<p>Authentication and authorization are important parts of building modern web and mobile apps. To handle them safely and efficiently, developers use two popular protocols: <strong>OAuth 2.0<\/strong> and <strong>OpenID Connect (OIDC)<\/strong>. These two are often used together, but they do different things: OAuth 2.0 is for <strong>authorization<\/strong>, and OIDC is for <strong>authentication<\/strong>. In this article, we\u2019ll explain what each one does, go over the key terms, and show you how to use them in a real project.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>What is OAuth?<\/strong><\/p>\n\n\n\n<p>OAuth is an authorization framework that enables a client application (often a third-party app) to access resources from another system securely by using an access token, which is valid for a limited time. Instead of sharing login credentials, users authorize the client app to act on their behalf. For example, when you log in to shop.witlab.ph (a third-party app) using your Google account, OAuth facilitates delegated authorization. This means WITLAB can access certain Google account information with your permission \u2014 without ever seeing or storing your Google login credentials.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Authentication vs Authorization<\/strong><\/p>\n\n\n\n<p>In the context of OAuth and API security, the <strong>Client<\/strong> typically refers to an application (App) that requests access to a resource on behalf of a user.<\/p>\n\n\n\n<p><strong>Authentication<\/strong> is the process of verifying the identity of the client (App). When a connection is established between a client and a server, authentication answers the question, <em>&#8220;Who is the client?&#8221;<\/em> The server validates the client\u2019s credentials, which may be passed in various forms within the HTTP request (such as headers or request parameters). If authentication fails, the server responds with an HTTP 401 (Unauthorized) status code.<\/p>\n\n\n\n<p>On the other hand, <strong>Authorization<\/strong> determines whether the authenticated client (App) has permission to perform a specific action or access a particular resource. During authorization, the server typically verifies the client&#8217;s access rights by decoding a token (such as a Bearer Token) included in the HTTP request. If the client is not authorized to access the requested resource, the server returns an HTTP 403 (Forbidden) response.<\/p>\n\n\n\n<p>It is not always necessary to perform an explicit authentication check before authorization. In many REST API designs, verifying the authorization token alone is sufficient, as the token itself contains proof of both authentication and authorization.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"1024\" src=\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-1-799x1024.jpg\" alt=\"\" class=\"wp-image-723\" srcset=\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-1-799x1024.jpg 799w, https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-1-234x300.jpg 234w, https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-1-768x984.jpg 768w, https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-1.jpg 883w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<p><strong>OAuth 2.0 Key Terminology<\/strong> <strong>and workflow<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Term<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>Resource Owner<\/td><td>The user who owns the data.<\/td><\/tr><tr><td>Client<\/td><td>The application requesting access (your app).<\/td><\/tr><tr><td>Resource Server<\/td><td>Server hosting user data (e.g., Google APIs).<\/td><\/tr><tr><td>Authorization Server<\/td><td>Server issuing tokens (e.g., Google OAuth server).<\/td><\/tr><tr><td>Access Token<\/td><td>Token that the client uses to access protected resources.<\/td><\/tr><tr><td>Refresh Token<\/td><td>Token to obtain a new access token without user involvement.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"830\" src=\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-2-1-1024x830.jpg\" alt=\"\" class=\"wp-image-727\" srcset=\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-2-1-1024x830.jpg 1024w, https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-2-1-300x243.jpg 300w, https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-2-1-768x623.jpg 768w, https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth-Frame-2-1.jpg 1110w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>What is OpenID Connect (OIDC)?<\/strong><\/p>\n\n\n\n<p><strong>OIDC<\/strong> is an <strong>authentication layer<\/strong> built on top of OAuth 2.0.<br>It allows clients to verify the identity of users and obtain basic profile information.<\/p>\n\n\n\n<p><strong>Key difference:<\/strong><\/p>\n\n\n\n<p>OAuth = authorization (<strong>OAuth 2.0<\/strong> handles authorization\u2014&#8221;Can&#8221; I access this?)<\/p>\n\n\n\n<p>OIDC = authentication + authorization (<strong>OpenID Connect<\/strong> handles authentication\u2014&#8221;Who&#8221; is this?)<\/p>\n\n\n\n<p>OIDC introduces a new token type: the <strong>ID Token<\/strong>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>The Problem: OAuth and the Need for OpenID Connect (OIDC)<\/strong><\/p>\n\n\n\n<p>When &#8220;Login with Facebook&#8221; or &#8220;Login with Google&#8221; features were first introduced around 2014, OAuth began to be widely used not just for <strong>authorization<\/strong>, but also for <strong>authentication<\/strong>. In these scenarios, after the client (App) obtained an access token from the authorization server, it often needed some basic user information \u2014 such as name, email address, or profile picture \u2014 to personalize the user experience.<\/p>\n\n\n\n<p>From a client\u2019s perspective, this was a reasonable request. After all, the authorization server already had this user information available. However, OAuth was originally designed only for <strong>authorization<\/strong> \u2014 managing permissions and granting scoped access to protected resources \u2014 not for authentication or sharing user identity data.<\/p>\n\n\n\n<p>Using OAuth alone for authentication led to a significant problem: <strong>there was no standardized way<\/strong> to deliver user information to the client. Different providers implemented their own custom solutions, leading to inconsistencies and a fragmented ecosystem.<\/p>\n\n\n\n<p>This misuse highlighted the need for a formal, consistent method to retrieve user identity data securely and reliably. <strong>OpenID Connect (OIDC)<\/strong> was introduced to solve this problem. OIDC builds on top of OAuth 2.0 and adds a standardized identity layer, allowing clients to obtain verified user information (such as user ID, name, email, etc.) via a well-defined and secure protocol after the authorization process.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Example: Implementing Google Login (OAuth 2.0 + OpenID Connect)<\/strong><\/p>\n\n\n\n<p>Here\u2019s a simple example using <strong>Laravel <\/strong>(PHP Framework). Please reference this link for a step-by-step guideline. <a href=\"https:\/\/laravel-news.com\/connecting-laravel-socialite-with-google-client-php-library\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/laravel-news.com\/connecting-laravel-socialite-with-google-client-php-library<\/a><\/p>\n\n\n\n<p>Also, this scenario is used in our LTI solution. You can understand it with the following link. <a href=\"https:\/\/witlab.ph\/blog\/what-is-lti-a-simple-guide-to-understanding-educational-dx-for-non-techies\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/witlab.ph\/blog\/what-is-lti-a-simple-guide-to-understanding-educational-dx-for-non-techies<\/a><\/p>\n\n\n\n<p>In <strong>LTI 1.3 and LTI Advantage<\/strong>, the core specification relies on <strong>OAuth 2.0<\/strong> and <strong>OpenID Connect (OIDC)<\/strong> to provide secure and standardized authentication and authorization between<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Platform (LMS<\/strong>) &#8211; like Moodle, Canvas, Blackboard (acts as the OpenID Provider)<\/li>\n\n\n\n<li><strong>Tool (your client App)<\/strong> &#8211; like an assessment tool, analytics platform, etc. (acts as the Relying Party)<\/li>\n<\/ul>\n\n\n\n<p>OAuth and OpenID Connect serve different but complementary purposes.<br>OAuth is for authorization \u2014 granting apps access to resources without exposing user credentials.<br>OpenID Connect (OIDC) is for authentication, verifying who the user is using a standard and secure method.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Authentication and authorization are important parts of building modern web and mobile apps. To handle them safely and efficiently, developers use two popular protocols: OAuth 2.0 and OpenID Connect (OIDC). These two are often used together, but they do different things: OAuth 2.0 is for authorization, and OIDC is for authentication. In this article, we\u2019ll [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":738,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-721","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-system"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Understanding OAuth 2.0 and OpenID Connect (OIDC) - WIT LAB %<\/title>\n<meta name=\"description\" content=\"We excel in utilizing cutting-edge technology, programming languages, and frameworks to deliver high-quality digital solutions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding OAuth 2.0 and OpenID Connect (OIDC) - WIT LAB %\" \/>\n<meta property=\"og:description\" content=\"We excel in utilizing cutting-edge technology, programming languages, and frameworks to deliver high-quality digital solutions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/\" \/>\n<meta property=\"og:site_name\" content=\"WIT LAB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/WIT-LAB\/61567795364273\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-11T08:15:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-19T10:55:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"366\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Aung Nyi Thit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aung Nyi Thit\" \/>\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\",\"BlogPosting\"],\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/\"},\"author\":{\"name\":\"Aung Nyi Thit\",\"@id\":\"https:\/\/witlab.ph\/blog\/#\/schema\/person\/4df708bd91fad188e81ec5addf45b5c3\"},\"headline\":\"Understanding OAuth 2.0 and OpenID Connect (OIDC)\",\"datePublished\":\"2025-04-11T08:15:18+00:00\",\"dateModified\":\"2025-04-19T10:55:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/\"},\"wordCount\":855,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/witlab.ph\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png\",\"articleSection\":[\"System\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/\",\"url\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/\",\"name\":\"Understanding OAuth 2.0 and OpenID Connect (OIDC) - WIT LAB %\",\"isPartOf\":{\"@id\":\"https:\/\/witlab.ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png\",\"datePublished\":\"2025-04-11T08:15:18+00:00\",\"dateModified\":\"2025-04-19T10:55:35+00:00\",\"description\":\"We excel in utilizing cutting-edge technology, programming languages, and frameworks to deliver high-quality digital solutions.\",\"breadcrumb\":{\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage\",\"url\":\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png\",\"contentUrl\":\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png\",\"width\":700,\"height\":366},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/witlab.ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding OAuth 2.0 and OpenID Connect (OIDC)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/witlab.ph\/blog\/#website\",\"url\":\"https:\/\/witlab.ph\/blog\/\",\"name\":\"WIT LAB\",\"description\":\"Web Development\",\"publisher\":{\"@id\":\"https:\/\/witlab.ph\/blog\/#organization\"},\"alternateName\":\"WIT LAB INC\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/witlab.ph\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/witlab.ph\/blog\/#organization\",\"name\":\"WIT LAB INC\",\"alternateName\":\"Spiceworks (Japan)\",\"url\":\"https:\/\/witlab.ph\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/witlab.ph\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2024\/09\/logo_witlab-Copy-Copy.png\",\"contentUrl\":\"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2024\/09\/logo_witlab-Copy-Copy.png\",\"width\":681,\"height\":616,\"caption\":\"WIT LAB INC\"},\"image\":{\"@id\":\"https:\/\/witlab.ph\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/people\/WIT-LAB\/61567795364273\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/witlab.ph\/blog\/#\/schema\/person\/4df708bd91fad188e81ec5addf45b5c3\",\"name\":\"Aung Nyi Thit\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/witlab.ph\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56095dd9b0cc972b21cc50c6ae98ce92?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56095dd9b0cc972b21cc50c6ae98ce92?s=96&d=mm&r=g\",\"caption\":\"Aung Nyi Thit\"},\"sameAs\":[\"http:\/\/rapidspice-wp.local\/blog\"],\"url\":\"https:\/\/witlab.ph\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding OAuth 2.0 and OpenID Connect (OIDC) - WIT LAB %","description":"We excel in utilizing cutting-edge technology, programming languages, and frameworks to deliver high-quality digital solutions.","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:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/","og_locale":"en_US","og_type":"article","og_title":"Understanding OAuth 2.0 and OpenID Connect (OIDC) - WIT LAB %","og_description":"We excel in utilizing cutting-edge technology, programming languages, and frameworks to deliver high-quality digital solutions.","og_url":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/","og_site_name":"WIT LAB","article_publisher":"https:\/\/www.facebook.com\/people\/WIT-LAB\/61567795364273\/","article_published_time":"2025-04-11T08:15:18+00:00","article_modified_time":"2025-04-19T10:55:35+00:00","og_image":[{"width":700,"height":366,"url":"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png","type":"image\/png"}],"author":"Aung Nyi Thit","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Aung Nyi Thit","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#article","isPartOf":{"@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/"},"author":{"name":"Aung Nyi Thit","@id":"https:\/\/witlab.ph\/blog\/#\/schema\/person\/4df708bd91fad188e81ec5addf45b5c3"},"headline":"Understanding OAuth 2.0 and OpenID Connect (OIDC)","datePublished":"2025-04-11T08:15:18+00:00","dateModified":"2025-04-19T10:55:35+00:00","mainEntityOfPage":{"@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/"},"wordCount":855,"commentCount":1,"publisher":{"@id":"https:\/\/witlab.ph\/blog\/#organization"},"image":{"@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage"},"thumbnailUrl":"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png","articleSection":["System"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/","url":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/","name":"Understanding OAuth 2.0 and OpenID Connect (OIDC) - WIT LAB %","isPartOf":{"@id":"https:\/\/witlab.ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage"},"image":{"@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage"},"thumbnailUrl":"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png","datePublished":"2025-04-11T08:15:18+00:00","dateModified":"2025-04-19T10:55:35+00:00","description":"We excel in utilizing cutting-edge technology, programming languages, and frameworks to deliver high-quality digital solutions.","breadcrumb":{"@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#primaryimage","url":"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png","contentUrl":"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2025\/04\/oauth_oidc.png","width":700,"height":366},{"@type":"BreadcrumbList","@id":"https:\/\/witlab.ph\/blog\/understanding-oauth-2-0-and-openid-connect-oidc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/witlab.ph\/blog\/"},{"@type":"ListItem","position":2,"name":"Understanding OAuth 2.0 and OpenID Connect (OIDC)"}]},{"@type":"WebSite","@id":"https:\/\/witlab.ph\/blog\/#website","url":"https:\/\/witlab.ph\/blog\/","name":"WIT LAB","description":"Web Development","publisher":{"@id":"https:\/\/witlab.ph\/blog\/#organization"},"alternateName":"WIT LAB INC","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/witlab.ph\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/witlab.ph\/blog\/#organization","name":"WIT LAB INC","alternateName":"Spiceworks (Japan)","url":"https:\/\/witlab.ph\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/witlab.ph\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2024\/09\/logo_witlab-Copy-Copy.png","contentUrl":"https:\/\/witlab.ph\/blog\/wp-content\/uploads\/2024\/09\/logo_witlab-Copy-Copy.png","width":681,"height":616,"caption":"WIT LAB INC"},"image":{"@id":"https:\/\/witlab.ph\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/WIT-LAB\/61567795364273\/"]},{"@type":"Person","@id":"https:\/\/witlab.ph\/blog\/#\/schema\/person\/4df708bd91fad188e81ec5addf45b5c3","name":"Aung Nyi Thit","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/witlab.ph\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56095dd9b0cc972b21cc50c6ae98ce92?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56095dd9b0cc972b21cc50c6ae98ce92?s=96&d=mm&r=g","caption":"Aung Nyi Thit"},"sameAs":["http:\/\/rapidspice-wp.local\/blog"],"url":"https:\/\/witlab.ph\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/posts\/721"}],"collection":[{"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/comments?post=721"}],"version-history":[{"count":23,"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/posts\/721\/revisions"}],"predecessor-version":[{"id":759,"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/posts\/721\/revisions\/759"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/media\/738"}],"wp:attachment":[{"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/media?parent=721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/categories?post=721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/witlab.ph\/blog\/wp-json\/wp\/v2\/tags?post=721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}