"use strict";(self.webpackChunkspotify_api_docs=self.webpackChunkspotify_api_docs||[]).push([[4785],{3905:function(e,t,n){n.d(t,{Zo:function(){returnl},kt:function(){returnh}});varr=n(7294);functiono(e,t,n){returntine?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}functiona(e,t){varn=Object.keys(e);if(Object.getOwnPropertySymbols){varr=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){returnObject.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}returnn}functioni(e){for(vart=1;t<arguments.length;t++){varn=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}returne}functions(e,t){if(null==e)return{};varn,r,o=function(e,t){if(null==e)return{};varn,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);returno}(e,t);if(Object.getOwnPropertySymbols){vara=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}returno}varp=r.createContext({}),c=function(e){vart=r.useContext(p),n=t;returne&&(n="function"==typeofe?e(t):i(i({},t),e)),n},l=function(e){vart=c(e.components);returnr.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){vart=e.children;returnr.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){varn=e.components,o=e.mdxType,a=e.originalType,p=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=c(n),h=o,f=d["".concat(p,".").concat(h)]||d[h]||u[h]||a;returnn?r.createElement(f,i(i({ref:t},l),{},{components:n})):r.createElement(f,i({ref:t},l))}));functionh(e,t){varn=arguments,o=t&&t.mdxType;if("string"==typeofe||o){vara=n.length,i=newArray(a);i[0]=d;vars={};for(varpint)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeofe?e:o,i[1]=s;for(varc=2;c<a;c++)i[c]=n[c];returnr.createElement.apply(null,i)}returnr.createElement.apply(null,n)}d.displayName="MDXCreateElement"},2248:function(e,t,n){n.r(t),n.d(t,{frontMatter:function(){returni},contentTitle:function(){returns},metadata:function(){returnp},toc:function(){returnc},default:function(){returnu}});varr=n(3117),o=n(102),a=(n(7294),n(3905)),i={id:"authorization_code",title:"Authorization Code"},s=void0,p={unversionedId:"authorization_code",id:"authorization_code",isDocsHomePage:!1,title:"Authorization Code",description:"This flow is suitable for long-running applications in which the user grants permission only once. It provides an access token that can be refreshed. Since the token exchange involves sending your secret key, perform this on a secure location, like a backend service, and not from a client such as a browser or from a mobile app.",source:"@site/docs/authorization_code.md",sourceDirName:".",slug:"/authorization_code",permalink:"/SpotifyAPI-NET/docs/authorization_code",editUrl:"https://github.com/JohnnyCrazy/SpotifyAPI-NET/edit/master/SpotifyAPI.Docs/docs/authorization_code.md",version:"current",lastUpdatedBy:"dependabot[bot]",lastUpdatedAt:1652933078,formattedLastUpdatedAt:"5/19/2022",frontMatter:{id:"authorization_code",title:"Authorization Code"},sidebar:"docs",previous:{title:"Implicit Grant",permalink:"/SpotifyAPI-NET/docs/implicit_grant"},next:{title:"PKCE",permalink:"/SpotifyAPI-NET/docs/pkce"}},c=[{value:"Existing Web-Server",id:"existing-web-server",children:[]},{value:"Using Spotify.Web.Auth",id:"using-spotifywebauth",children:[]}],l={toc:c};functionu(e){vart=e.components,n=(0,o.Z)(e,["components"]);return(0,a.kt)("wrapper",(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"Thisflowissuitableforlong-runningapplicationsinwhichtheusergrantspermissiononlyonce.Itprovidesanaccesstokenthatcanberefreshed.Sincetheto