1"use strict";(globalThis.webpackChunk_umka_docs=globalThis.webpackChunk_umka_docs||[]).push([[673],{2624(e,t,n){n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"cli/auth","title":"Authentication","description":"Login","source":"@site/docs/cli/auth.md","sourceDirName":"cli","slug":"/cli/auth","permalink":"/help/cli/auth","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Authentication"},"sidebar":"docs","previous":{"title":"Installation","permalink":"/help/cli/install"},"next":{"title":"Sync","permalink":"/help/cli/sync"}}');var s=n(1627),r=n(6962);const a={sidebar_position:3,title:"Authentication"},l="Authentication",o={},c=[{value:"Login",id:"login",level:2},{value:"Options",id:"options",level:3},{value:"Environment variables",id:"environment-variables",level:3},{value:"Status",id:"status",level:2},{value:"Logout",id:"logout",level:2}];function d(e){const t={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"authentication",children:"Authentication"})}),"\n",(0,s.jsx)(t.h2,{id:"login",children:"Login"}),"\n",(0,s.jsx)(t.p,{children:"Authenticate with your Umka account via OAuth in the browser:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"umka auth login\n"})}),"\n",(0,s.jsx)(t.p,{children:"This opens your browser to complete the OAuth flow with Google. Credentials are stored in your system keychain when available, with a file-based fallback."}),"\n",(0,s.jsx)(t.h3,{id:"options",children:"Options"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:'--provider <provider> OAuth provider (default: "google")\n--server <url> Server URL (default: https://app.umka.day)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"environment-variables",children:"Environment variables"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Variable"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"UMKA_SERVER_URL"})}),(0,s.jsxs)(t.td,{children:["Server URL (alternative to ",(0,s.jsx)(t.code,{children:"--server"}),")"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"UMKA_TOKEN"})}),(0,s.jsx)(t.td,{children:"API token, skips interactive login"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"status",children:"Status"}),"\n",(0,s.jsx)(t.p,{children:"Check your current authentication status:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"umka auth status\n"})}),"\n",(0,s.jsx)(t.h2,{id:"logout",children:"Logout"}),"\n",(0,s.jsx)(t.p,{children:"Remove stored credentials:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"umka auth logout\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6962(e,t,n){n.d(t,{R:()=>a,x:()=>l});var i=n(1979);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.