{"id":4947,"date":"2019-08-16T11:58:00","date_gmt":"2019-08-16T15:58:00","guid":{"rendered":"https:\/\/www.freelancinggig.com\/blog\/?p=4947"},"modified":"2019-08-16T11:58:02","modified_gmt":"2019-08-16T15:58:02","slug":"openid-connect-difference-between-id_token-and-access_token","status":"publish","type":"post","link":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/","title":{"rendered":"OpenID Connect Difference Between id_token and access_token"},"content":{"rendered":"<p>Hope you understand that a user will get a tokens pair after validating with OpenID Connect. Do you know why there are two different tokens which seemingly do the same kind of thing?<\/p>\n\n\n\n<p>The format of token and content is not definite by the standard of Open ID connect. They may be anything. It is normal for both tokens to be comparable, most of the time set to accurately the same value, but it does not need to be.<\/p>\n\n\n\n<p>Think carefully about OpenID Connect as a framework of <a class=\"glossaryLink\" href=\"https:\/\/www.freelancinggig.com\/blog\/glossary\/authentication\/\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">authentication<\/a>, except just a protocol. It can fully support any type of authentication system, with whatsoever (existing) format of a token.<\/p>\n\n\n\n<p>There are different\nsolutions and providers: Facebook, Gmail, Forgerock, PingFederate, Microsoft\nActive Directory, and more&#x2026; each and every one with its own peculiarities.<\/p>\n\n\n\n<p>As a professional developer\nthat has to put together one of these, you would need to know what is directly\nor indirectly coming out of that specific provider, just that one.<\/p>\n\n\n\n<p><strong>Response of the Authentication<\/strong><\/p>\n\n\n\n<p>The specific application\nreceives a reaction like this upon a thriving authentication.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"492\" height=\"112\" src=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-1.png\" alt=\"\" class=\"wp-image-4948\" srcset=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-1.png 492w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-1-300x68.png 300w\" sizes=\"auto, (max-width: 492px) 100vw, 492px\"\/><\/figure>\n\n\n\n<p>It can be a special\ntype of format, like this as an alternative.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"959\" height=\"174\" src=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-2.png\" alt=\"\" class=\"wp-image-4949\" srcset=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-2.png 959w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-2-300x54.png 300w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-2-768x139.png 768w\" sizes=\"auto, (max-width: 959px) 100vw, 959px\"\/><\/figure>\n\n\n\n<p>The specific session token is to be effectively saved as a human cookie in a web browser or directly passed as a header for the access like programmatic.<\/p>\n\n\n\n<p>The thing is which particular one is the session, in <a class=\"glossaryLink\"  href=\"https:\/\/www.freelancinggig.com\/blog\/glossary\/case\/\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]'  tabindex='0' role='link'>case<\/a>, not both? We are just about to getting into that. (You can use the access_token by rule, not just the id_token)<\/p>\n\n\n\n<p>As a professional and\nexperienced developer, there are two different things to perfectly&#xA0; care about authentication of user: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Confirming the token is active\/valid <\/li><li>Getting the connected user<\/li><\/ul>\n\n\n\n<p><strong>Black box tokens<\/strong><\/p>\n\n\n\n<p>Now we are going to discuss blackbox tokens. You don&#x2019;t recognize what it actually contains.<\/p>\n\n\n\n<p>The providers have to\ngive APIs to confirm the token and to get back the identity of user. Carefully\nlookup important documentation from the specific provider.<\/p>\n\n\n\n<p>You should know that\nOpenID Connect has a voluntary &#x201C;\/userinfo&#x201D; endpoint to get back information of user.\nIt is a wonderful starting point for a perfect research. It can take a limit to\nchoose which specific user attributes to get (range).<\/p>\n\n\n\n<p>The <a class=\"glossaryLink\"  href=\"https:\/\/www.freelancinggig.com\/blog\/glossary\/api\/\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]'  tabindex='0' role='link'>API<\/a> can also accept\neither token, or both, see and try. Keep in mind to read the important documentation\ntoo!<\/p>\n\n\n\n<p>You must confirm the\ntoken as well as retrieve the connected user. You are all set when you check\nout what API to utilize and how.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"497\" height=\"100\" src=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-3.png\" alt=\"\" class=\"wp-image-4950\" srcset=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-3.png 497w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-3-300x60.png 300w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\"\/><\/figure>\n\n\n\n<p>A token named JWT is an\nobject of javascript containing information of the user, base64 encoded. <\/p>\n\n\n\n<p>Cryptographically the\ntoken is signed and it can be confirmed utilizing the public key from the <a class=\"glossaryLink\" href=\"https:\/\/www.freelancinggig.com\/blog\/glossary\/confirmation\/\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">confirmation<\/a>\nprovider. There are different libraries of JWT that is available to manage\nthis.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"193\" src=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-4-1024x193.png\" alt=\"\" class=\"wp-image-4951\" srcset=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-4-1024x193.png 1024w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-4-300x56.png 300w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-4-768x145.png 768w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-4.png 1116w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"\/><\/figure>\n\n\n\n<p>After perfect decoding:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"377\" src=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-5.png\" alt=\"\" class=\"wp-image-4952\" srcset=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-5.png 470w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-5-300x241.png 300w\" sizes=\"auto, (max-width: 470px) 100vw, 470px\"\/><\/figure>\n\n\n\n<p>You have to suppose\nthat the particular provider does NOT have some type of API to validate the\ntoken or to recover the identity of user. It is really not required along with\nJWT tokens, the whole thing required can be embedded in the particular token.<\/p>\n\n\n\n<p>As a professional developer,\nyou want the effective user identifier. Generally an email, a primary key, or\nan <a class=\"glossaryLink\" href=\"https:\/\/www.freelancinggig.com\/blog\/glossary\/employee\/\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">employee<\/a> ID.<\/p>\n\n\n\n<p>The two different tokens\nare mainly equivalent, apart from the mail field. Let us suppose that users are\nreferenced by email. Understand that access_token is here valueless. It is omitted\nthe email. It does not point out what or whom to grant complete access to?<\/p>\n\n\n\n<p>Know that OpenID Connect does not define any needed attributes of the user. It completely depends on the provider to choose what to set. Check the documentation of provider on user claims.<\/p>\n\n\n\n<p>You must have the chance\nto choose claims, first when on your OpenID Connect client boarding along with\nthe provider of OpenID Connect, then later by utilizing a parameter of &#x201C;scope&#x201D;\nin APIs authentication.<\/p>\n\n\n\n<p>It completely depends on the provider to honor and accept these settings of configuration. It depends on the provider that claims are supportable and supported.<\/p>\n\n\n\n<p>Preferably, you must\nconfigure all type of tokens to carry sufficient user attributes.<\/p>\n\n\n\n<p>You are all done when\nyou check out which specific claim(s) you want and how you can efficiently get\nthem.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>JWT can fairly get HTTP and large headers (together with cookies) are bound to some kilobytes. Know that limit claims to the least amount. <\/li><li>It will be really very good in case the provider can have a suitable user identifier by default built-in.<\/li><\/ul>\n\n\n\n<p><strong>Creation of Automatic Account<\/strong><\/p>\n\n\n\n<p>There is an extraordinary\nuse case which can be well managed by OpenID Connect. Automatically making\naccounts for new users.<\/p>\n\n\n\n<p>Lets think about a\npractical example. A user is approving to Stack Overflow utilizing Google (or\nMicrosoft ADFS, StackOverflow Enterprise). (You cannot ask Stack Overflow for assistance\nearlier than getting an account of Stack Overflow).<\/p>\n\n\n\n<p>It is a separate\nproduct with its own session management and user base. It must accept users\nfrom Facebook, Google or on premise, yet it should not completely depend on\nthem.<\/p>\n\n\n\n<p>It is simply noticed in\npractice. Originally the id_token was created for this accurate purpose.<\/p>\n\n\n\n<p>User can start the\nprocess of authentication with the third-party service provider and come again back\nwith the claims\/tokens explained before, then:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>In case the external account completely\nmatches an available id or email, the user is also logged in as that account (stack\noverflow).<\/li><li>In case the external account does not\nmatch any internal account, a fresh new account is automatically created. Information\nof the user can be automatically filled.<\/li><\/ul>\n\n\n\n<p>The \/userinfo and id_token\nendpoint can hold different user attributes, either when explicitly configured\nor by default for it. What is efficiently supported is up to the service provider.<\/p>\n\n\n\n<p>A few providers supply the complete user profile by default to effectively cover this use case.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"644\" height=\"454\" src=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png\" alt=\"\" class=\"wp-image-4953\" srcset=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png 644w, https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6-300x211.png 300w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\"\/><\/figure>\n\n\n\n<p><strong>Conclusion<\/strong><\/p>\n\n\n\n<p>This effectively covered\nthe most usually usages of access_token and id_token in the wild. Your mileage can\ndiffer as per on the OpenID Connect providers you must incorporate with. Famous\ninternet service providers must be quite well standardized and documented.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hope you understand that a user will get a tokens pair after validating with OpenID Connect. Do you know why there are two different tokens &#x2026;<\/p>\n","protected":false},"author":3,"featured_media":4953,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[149],"tags":[1611,1610],"class_list":["post-4947","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-startup-resources","tag-access_token","tag-id_token"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>OpenID Connect Difference Between id_token and access_token - Developers, Designers &amp; Freelancers - FreelancingGig<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenID Connect Difference Between id_token and access_token - Developers, Designers &amp; Freelancers - FreelancingGig\" \/>\n<meta property=\"og:description\" content=\"Hope you understand that a user will get a tokens pair after validating with OpenID Connect. Do you know why there are two different tokens ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/\" \/>\n<meta property=\"og:site_name\" content=\"Developers, Designers &amp; Freelancers - FreelancingGig\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-16T15:58:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-08-16T15:58:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png\" \/>\n\t<meta property=\"og:image:width\" content=\"644\" \/>\n\t<meta property=\"og:image:height\" content=\"454\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kitty Gupta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kitty Gupta\" \/>\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:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/\"},\"author\":{\"name\":\"Kitty Gupta\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/person\\\/48f1ba04a6bf525d5251b2eda9c7bb0c\"},\"headline\":\"OpenID Connect Difference Between id_token and access_token\",\"datePublished\":\"2019-08-16T15:58:00+00:00\",\"dateModified\":\"2019-08-16T15:58:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/\"},\"wordCount\":1021,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/pic-6.png\",\"keywords\":[\"access_token\",\"id_token\"],\"articleSection\":[\"Startup Resources\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/\",\"name\":\"OpenID Connect Difference Between id_token and access_token - Developers, Designers &amp; Freelancers - FreelancingGig\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/pic-6.png\",\"datePublished\":\"2019-08-16T15:58:00+00:00\",\"dateModified\":\"2019-08-16T15:58:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/pic-6.png\",\"contentUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/pic-6.png\",\"width\":644,\"height\":454},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2019\\\/08\\\/16\\\/openid-connect-difference-between-id_token-and-access_token\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenID Connect Difference Between id_token and access_token\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/\",\"name\":\"Developers, Designers &amp; Freelancers - FreelancingGig\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#organization\",\"name\":\"FreelancingGig\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/freelancinggig-website-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/freelancinggig-website-logo.png\",\"width\":213,\"height\":35,\"caption\":\"FreelancingGig\"},\"image\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/person\\\/48f1ba04a6bf525d5251b2eda9c7bb0c\",\"name\":\"Kitty Gupta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g\",\"caption\":\"Kitty Gupta\"},\"description\":\"Kitty Gupta is FreelancingGig's Content &amp; Community Manager. She has many years experience writing for reputable platforms with her engineering and communications background.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OpenID Connect Difference Between id_token and access_token - Developers, Designers &amp; Freelancers - FreelancingGig","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:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/","og_locale":"en_US","og_type":"article","og_title":"OpenID Connect Difference Between id_token and access_token - Developers, Designers &amp; Freelancers - FreelancingGig","og_description":"Hope you understand that a user will get a tokens pair after validating with OpenID Connect. Do you know why there are two different tokens ...","og_url":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/","og_site_name":"Developers, Designers &amp; Freelancers - FreelancingGig","article_published_time":"2019-08-16T15:58:00+00:00","article_modified_time":"2019-08-16T15:58:02+00:00","og_image":[{"width":644,"height":454,"url":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png","type":"image\/png"}],"author":"Kitty Gupta","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kitty Gupta","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#article","isPartOf":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/"},"author":{"name":"Kitty Gupta","@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/person\/48f1ba04a6bf525d5251b2eda9c7bb0c"},"headline":"OpenID Connect Difference Between id_token and access_token","datePublished":"2019-08-16T15:58:00+00:00","dateModified":"2019-08-16T15:58:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/"},"wordCount":1021,"commentCount":0,"publisher":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#primaryimage"},"thumbnailUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png","keywords":["access_token","id_token"],"articleSection":["Startup Resources"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/","url":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/","name":"OpenID Connect Difference Between id_token and access_token - Developers, Designers &amp; Freelancers - FreelancingGig","isPartOf":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#primaryimage"},"image":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#primaryimage"},"thumbnailUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png","datePublished":"2019-08-16T15:58:00+00:00","dateModified":"2019-08-16T15:58:02+00:00","breadcrumb":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#primaryimage","url":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png","contentUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2019\/08\/pic-6.png","width":644,"height":454},{"@type":"BreadcrumbList","@id":"https:\/\/www.freelancinggig.com\/blog\/2019\/08\/16\/openid-connect-difference-between-id_token-and-access_token\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.freelancinggig.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OpenID Connect Difference Between id_token and access_token"}]},{"@type":"WebSite","@id":"https:\/\/www.freelancinggig.com\/blog\/#website","url":"https:\/\/www.freelancinggig.com\/blog\/","name":"Developers, Designers &amp; Freelancers - FreelancingGig","description":"","publisher":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.freelancinggig.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.freelancinggig.com\/blog\/#organization","name":"FreelancingGig","url":"https:\/\/www.freelancinggig.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/freelancinggig-website-logo.png","contentUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/freelancinggig-website-logo.png","width":213,"height":35,"caption":"FreelancingGig"},"image":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/person\/48f1ba04a6bf525d5251b2eda9c7bb0c","name":"Kitty Gupta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g","caption":"Kitty Gupta"},"description":"Kitty Gupta is FreelancingGig's Content &amp; Community Manager. She has many years experience writing for reputable platforms with her engineering and communications background."}]}},"_links":{"self":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts\/4947","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/comments?post=4947"}],"version-history":[{"count":1,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts\/4947\/revisions"}],"predecessor-version":[{"id":4954,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts\/4947\/revisions\/4954"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/media\/4953"}],"wp:attachment":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/media?parent=4947"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/categories?post=4947"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/tags?post=4947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}