podman-desktop/api/@podman-desktop/namespaces/authentication/functions/getSession.html

85 lines
36 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-api docs-version-current docs-doc-page docs-doc-id-@podman-desktop/namespaces/authentication/functions/getSession" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.7.0">
<title data-rh="true">Function: getSession() | Podman Desktop</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://podman-desktop.io/img/banner_podman-desktop.png"><meta data-rh="true" name="twitter:image" content="https://podman-desktop.io/img/banner_podman-desktop.png"><meta data-rh="true" property="og:url" content="https://podman-desktop.io/api/@podman-desktop/namespaces/authentication/functions/getSession"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-api-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-api-current"><meta data-rh="true" property="og:title" content="Function: getSession() | Podman Desktop"><meta data-rh="true" name="description" content="Call Signature"><meta data-rh="true" property="og:description" content="Call Signature"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://podman-desktop.io/api/@podman-desktop/namespaces/authentication/functions/getSession"><link data-rh="true" rel="alternate" href="https://podman-desktop.io/api/@podman-desktop/namespaces/authentication/functions/getSession" hreflang="en"><link data-rh="true" rel="alternate" href="https://podman-desktop.io/api/@podman-desktop/namespaces/authentication/functions/getSession" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://MR01ANKQ9S-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Podman Desktop RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Podman Desktop Atom Feed">
<link rel="alternate" type="application/json" href="/blog/feed.json" title="Podman Desktop JSON Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Podman Desktop" href="/opensearch.xml">
<link rel="preconnect" href="https://podman-desktop-website.goatcounter.com">
<script async src="//gc.zgo.at/count.js" data-goatcounter="https://podman-desktop-website.goatcounter.com/count"></script><link rel="stylesheet" href="/assets/css/styles.e95583f1.css">
<script src="/assets/js/runtime~main.887316ad.js" defer="defer"></script>
<script src="/assets/js/main.9cd8d8be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();null!==e?t(e):window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):window.matchMedia("(prefers-color-scheme: light)").matches?t("light"):t("dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_oPtH" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Podman Desktop Logo" class="themedComponent_siVc themedComponent--light_hHel" height="56"><img src="/img/logo.svg" alt="Podman Desktop Logo" class="themedComponent_siVc themedComponent--dark_yETr" height="56"></div><b class="navbar__title text--truncate">podman desktop</b></a><a class="navbar__item navbar__link" href="/docs/intro">Documentation</a><a class="navbar__item navbar__link" href="/downloads">Downloads</a><a class="navbar__item navbar__link" href="/community">Community</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Resources</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/features">Features</a></li><li><a class="dropdown__link" href="/tutorial">Tutorials</a></li><li><a class="dropdown__link" href="/extend">Extend</a></li></ul></div><a class="navbar__item navbar__link" href="/blog">Blog</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/podman-desktop/podman-desktop" target="_blank" id="github-stars-button" rel="noopener noreferrer" class="hidden lg:flex items-center gap-2 px-4 py-[9px] border border-black dark:border-white rounded-lg navbar__item navbar__link font-medium min-w-[9rem]"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" class="svg-inline--fa fa-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="call-signature">Call Signature<a href="#call-signature" class="hash-link" aria-label="Direct link to Call Signature" title="Direct link to Call Signature"></a></h2>
<blockquote>
<p><strong>getSession</strong>(<code>providerId</code>, <code>scopes</code>, <code>options</code>): <code>Promise</code>&lt;<code>undefined</code> | <a href="/api/interfaces/AuthenticationSession"><code>AuthenticationSession</code></a>&gt;</p>
</blockquote>
<p>Defined in: <a href="https://github.com/podman-desktop/podman-desktop/blob/e664750eae6366380860ea2086155404e3c66a9e/packages/extension-api/src/extension-api.d.ts#L4235" target="_blank" rel="noopener noreferrer">packages/extension-api/src/extension-api.d.ts:4235</a></p>
<p>Get an authentication session matching the desired scopes. Rejects if a provider with providerId is not
registered, or if the user does not consent to sharing authentication information with
the extension. If there are multiple sessions with the same scopes, the user will be shown a
quickpick to select which account they would like to use.</p>
<p>Currently, there are only two authentication providers that are contributed from built in extensions
to VS Code that implement GitHub and Microsoft authentication: their providerId&#x27;s are &#x27;github&#x27; and &#x27;microsoft&#x27;.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="parameters">Parameters<a href="#parameters" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters"></a></h3>
<h4 class="anchor anchorWithStickyNavbar_JmGV" id="providerid">providerId<a href="#providerid" class="hash-link" aria-label="Direct link to providerId" title="Direct link to providerId"></a></h4>
<p><code>string</code></p>
<p>The id of the provider to use</p>
<h4 class="anchor anchorWithStickyNavbar_JmGV" id="scopes">scopes<a href="#scopes" class="hash-link" aria-label="Direct link to scopes" title="Direct link to scopes"></a></h4>
<p><code>string</code>[]</p>
<p>A list of scopes representing the permissions requested. These are dependent on the authentication provider</p>
<h4 class="anchor anchorWithStickyNavbar_JmGV" id="options">options<a href="#options" class="hash-link" aria-label="Direct link to options" title="Direct link to options"></a></h4>
<p><a href="/api/interfaces/AuthenticationGetSessionOptions"><code>AuthenticationGetSessionOptions</code></a> &amp; <code>object</code></p>
<p>The <a href="#GetSessionOptions">getSessionOptions</a> to use</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="returns">Returns<a href="#returns" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns"></a></h3>
<p><code>Promise</code>&lt;<code>undefined</code> | <a href="/api/interfaces/AuthenticationSession"><code>AuthenticationSession</code></a>&gt;</p>
<p>A promise that resolves to an authentication session</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="call-signature-1">Call Signature<a href="#call-signature-1" class="hash-link" aria-label="Direct link to Call Signature" title="Direct link to Call Signature"></a></h2>
<blockquote>
<p><strong>getSession</strong>(<code>providerId</code>, <code>scopes</code>, <code>options?</code>): <code>Promise</code>&lt;<code>undefined</code> | <a href="/api/interfaces/AuthenticationSession"><code>AuthenticationSession</code></a>&gt;</p>
</blockquote>
<p>Defined in: <a href="https://github.com/podman-desktop/podman-desktop/blob/e664750eae6366380860ea2086155404e3c66a9e/packages/extension-api/src/extension-api.d.ts#L4254" target="_blank" rel="noopener noreferrer">packages/extension-api/src/extension-api.d.ts:4254</a></p>
<p>Get an authentication session matching the desired scopes. Rejects if a provider with providerId is not
registered, or if the user does not consent to sharing authentication information with
the extension. If there are multiple sessions with the same scopes, the user will be shown a
quickpick to select which account they would like to use.</p>
<p>Currently, there are only two authentication providers that are contributed from built in extensions
to VS Code that implement GitHub and Microsoft authentication: their providerId&#x27;s are &#x27;github&#x27; and &#x27;microsoft&#x27;.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="parameters-1">Parameters<a href="#parameters-1" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters"></a></h3>
<h4 class="anchor anchorWithStickyNavbar_JmGV" id="providerid-1">providerId<a href="#providerid-1" class="hash-link" aria-label="Direct link to providerId" title="Direct link to providerId"></a></h4>
<p><code>string</code></p>
<p>The id of the provider to use</p>
<h4 class="anchor anchorWithStickyNavbar_JmGV" id="scopes-1">scopes<a href="#scopes-1" class="hash-link" aria-label="Direct link to scopes" title="Direct link to scopes"></a></h4>
<p><code>string</code>[]</p>
<p>A list of scopes representing the permissions requested. These are dependent on the authentication provider</p>
<h4 class="anchor anchorWithStickyNavbar_JmGV" id="options-1">options?<a href="#options-1" class="hash-link" aria-label="Direct link to options?" title="Direct link to options?"></a></h4>
<p><a href="/api/interfaces/AuthenticationGetSessionOptions"><code>AuthenticationGetSessionOptions</code></a></p>
<p>The <a href="#GetSessionOptions">getSessionOptions</a> to use</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="returns-1">Returns<a href="#returns-1" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns"></a></h3>
<p><code>Promise</code>&lt;<code>undefined</code> | <a href="/api/interfaces/AuthenticationSession"><code>AuthenticationSession</code></a>&gt;</p>
<p>A promise that resolves to an authentication session if available, or undefined if there are no sessions</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/@podman-desktop/namespaces/authentication/variables/onDidChangeSessions"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">onDidChangeSessions</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/@podman-desktop/namespaces/authentication/functions/registerAuthenticationProvider"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">registerAuthenticationProvider</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_XG6w thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#call-signature" class="table-of-contents__link toc-highlight">Call Signature</a><ul><li><a href="#parameters" class="table-of-contents__link toc-highlight">Parameters</a></li><li><a href="#returns" class="table-of-contents__link toc-highlight">Returns</a></li></ul></li><li><a href="#call-signature-1" class="table-of-contents__link toc-highlight">Call Signature</a><ul><li><a href="#parameters-1" class="table-of-contents__link toc-highlight">Parameters</a></li><li><a href="#returns-1" class="table-of-contents__link toc-highlight">Returns</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Documentation</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/installation">Installing Podman Desktop</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/migrating-from-docker">Migrating from Docker</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/kubernetes">Working with Kubernetes</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/troubleshooting">Troubleshooting</a></li></ul></div><div class="col footer__col"><div class="footer__title">Links</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/podman-desktop/podman-desktop" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPrP"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.com/invite/x5GzFF6QH4" target="_blank" rel="noopener noreferrer" class="footer__link-item">Chat (bridged): #podman-desktop on Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPrP"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://github.com/podman-desktop/podman-desktop#communication" target="_blank" rel="noopener noreferrer" class="footer__link-item">Other ways to Communicate<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPrP"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://github.com/orgs/podman-desktop/projects/4/views/3" target="_blank" rel="noopener noreferrer" class="footer__link-item">Current Sprint<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPrP"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class=
<div class="flex flex-col items-start text-left gap-4">
<div class="w-96 mt-8 mb-8">
<img class="dark:hidden" alt="Cloud Native Computing Foundation" src="/img/cncf-logo.svg">
<img class="hidden dark:inline" alt="Cloud Native Computing Foundation" src="/img/cncf-logo-dark.svg">
</div>
<div class="text-sm">
<p class="mb-1">We are a <a href="https://cncf.io/" class="underline">Cloud Native Computing Foundation</a> sandbox project.</p>
<p class="mb-1">© Copyright Podman Desktop Contributors 2025. © 2025 The Linux Foundation. All rights reserved.</p>
<p class="mb-1">The Linux Foundation has registered trademarks and uses trademarks.
For a list of trademarks of The Linux Foundation, please see our
<a href="https://www.linuxfoundation.org/trademark-usage/" class="underline"> Trademark Usage</a> page.</p>
</div>
</div>
</div></div></div></footer></div>
</body>
</html>