mirror of
https://github.com/LogicLabs-OU/OpenArchiver.git
synced 2026-04-06 00:31:57 +02:00
38 lines
25 KiB
HTML
38 lines
25 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-US" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Auth Service API | Open Archiver</title>
|
||
<meta name="description" content="Official documentation for the Open Archiver project.">
|
||
<meta name="generator" content="VitePress v1.6.3">
|
||
<link rel="preload stylesheet" href="/assets/style.3jgUiUT_.css" as="style">
|
||
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.Byz1HnQd.js"></script>
|
||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.1KUHhmPd.js">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.S-Qvb3wi.js">
|
||
<link rel="modulepreload" href="/assets/api_auth.md.Kt3iNEMn.lean.js">
|
||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-b4de4928><!--[--><!--]--><!--[--><span tabindex="-1" data-v-f1a6591b></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-f1a6591b>Skip to content</a><!--]--><!----><header class="VPNav" data-v-b4de4928 data-v-196296ba><div class="VPNavBar" data-v-196296ba data-v-632f34fa><div class="wrapper" data-v-632f34fa><div class="container" data-v-632f34fa><div class="title" data-v-632f34fa><div class="VPNavBarTitle has-sidebar" data-v-632f34fa data-v-dcc486d8><a class="title" href="/" data-v-dcc486d8><!--[--><!--]--><!--[--><img class="VPImage logo" src="../assets/logo-sq.svg" alt data-v-085b6aad><!--]--><span data-v-dcc486d8>Open Archiver</span><!--[--><!--]--></a></div></div><div class="content" data-v-632f34fa><div class="content-body" data-v-632f34fa><!--[--><!--]--><div class="VPNavBarSearch search" data-v-632f34fa><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-632f34fa data-v-e1b4cdce><span id="main-nav-aria-label" class="visually-hidden" data-v-e1b4cdce> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-e1b4cdce data-v-a32d3490><!--[--><span data-v-a32d3490>Home</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/user-guides/email-providers/" tabindex="0" data-v-e1b4cdce data-v-a32d3490><!--[--><span data-v-a32d3490>User Guides</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-632f34fa data-v-5cc3ce0d><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-5cc3ce0d data-v-299b7b5e data-v-a6d5da05><span class="check" data-v-a6d5da05><span class="icon" data-v-a6d5da05><!--[--><span class="vpi-sun sun" data-v-299b7b5e></span><span class="vpi-moon moon" data-v-299b7b5e></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-632f34fa data-v-cf3d1140 data-v-f22c51c1><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-f22c51c1><span class="vpi-more-horizontal icon" data-v-f22c51c1></span></button><div class="menu" data-v-f22c51c1><div class="VPMenu" data-v-f22c51c1 data-v-21da92f6><!----><!--[--><!--[--><!----><div class="group" data-v-cf3d1140><div class="item appearance" data-v-cf3d1140><p class="label" data-v-cf3d1140>Appearance</p><div class="appearance-action" data-v-cf3d1140><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-cf3d1140 data-v-299b7b5e data-v-a6d5da05><span class="check" data-v-a6d5da05><span class="icon" data-v-a6d5da05><!--[--><span class="vpi-sun sun" data-v-299b7b5e></span><span class="vpi-moon moon" data-v-299b7b5e></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-632f34fa data-v-bc4091a7><span class="container" data-v-bc4091a7><span class="top" data-v-bc4091a7></span><span class="middle" data-v-bc4091a7></span><span class="bottom" data-v-bc4091a7></span></span></button></div></div></div></div><div class="divider" data-v-632f34fa><div class="divider-line" data-v-632f34fa></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-b4de4928 data-v-25ab87d9><div class="container" data-v-25ab87d9><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-25ab87d9><span class="vpi-align-left menu-icon" data-v-25ab87d9></span><span class="menu-text" data-v-25ab87d9>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-25ab87d9 data-v-3b0d77ac><button data-v-3b0d77ac>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-b4de4928 data-v-f58b6c37><div class="curtain" data-v-f58b6c37></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-f58b6c37><span class="visually-hidden" id="sidebar-aria-label" data-v-f58b6c37> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-3272fbfa><section class="VPSidebarItem level-0" data-v-3272fbfa data-v-b566cf41><div class="item" role="button" tabindex="0" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><h2 class="text" data-v-b566cf41>User Guides</h2><!----></div><div class="items" data-v-b566cf41><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Get Started</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/user-guides/installation.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Installation</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed is-link" data-v-b566cf41 data-v-b566cf41><div class="item" tabindex="0" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/user-guides/email-providers/" data-v-b566cf41><!--[--><h3 class="text" data-v-b566cf41>Email Providers</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b566cf41><span class="vpi-chevron-right caret-icon" data-v-b566cf41></span></div></div><div class="items" data-v-b566cf41><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/user-guides/email-providers/google-workspace.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Google Workspace</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/user-guides/email-providers/imap.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Generic IMAP Server</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/user-guides/email-providers/microsoft-365.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Microsoft 365</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-3272fbfa><section class="VPSidebarItem level-0 has-active" data-v-3272fbfa data-v-b566cf41><div class="item" role="button" tabindex="0" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><h2 class="text" data-v-b566cf41>API Reference</h2><!----></div><div class="items" data-v-b566cf41><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/authentication.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Authentication</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/auth.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Auth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/archived-email.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Archived Email</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/dashboard.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Dashboard</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/ingestion.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Ingestion</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/search.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Search</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/api/storage.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Storage</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-3272fbfa><section class="VPSidebarItem level-0" data-v-3272fbfa data-v-b566cf41><div class="item" role="button" tabindex="0" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><h2 class="text" data-v-b566cf41>Services</h2><!----></div><div class="items" data-v-b566cf41><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/services/" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b566cf41 data-v-b566cf41><div class="item" data-v-b566cf41><div class="indicator" data-v-b566cf41></div><a class="VPLink link link" href="/services/storage-service.html" data-v-b566cf41><!--[--><p class="text" data-v-b566cf41>Storage Service</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-b4de4928 data-v-da66bf6a><div class="VPDoc has-sidebar has-aside" data-v-da66bf6a data-v-ef58e7af><!--[--><!--]--><div class="container" data-v-ef58e7af><div class="aside" data-v-ef58e7af><div class="aside-curtain" data-v-ef58e7af></div><div class="aside-container" data-v-ef58e7af><div class="aside-content" data-v-ef58e7af><div class="VPDocAside" data-v-ef58e7af data-v-271fded2><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-271fded2 data-v-fa352379><div class="content" data-v-fa352379><div class="outline-marker" data-v-fa352379></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-fa352379>On this page</div><ul class="VPDocOutlineItem root" data-v-fa352379 data-v-0bb3c463><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-271fded2></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-ef58e7af><div class="content-container" data-v-ef58e7af><!--[--><!--]--><main class="main" data-v-ef58e7af><div style="position:relative;" class="vp-doc _api_auth" data-v-ef58e7af><div><h1 id="auth-service-api" tabindex="-1">Auth Service API <a class="header-anchor" href="#auth-service-api" aria-label="Permalink to "Auth Service API""></a></h1><p>The Auth Service is responsible for handling user authentication, including login and token verification.</p><h2 id="endpoints" tabindex="-1">Endpoints <a class="header-anchor" href="#endpoints" aria-label="Permalink to "Endpoints""></a></h2><h3 id="post-api-v1-auth-login" tabindex="-1">POST /api/v1/auth/login <a class="header-anchor" href="#post-api-v1-auth-login" aria-label="Permalink to "POST /api/v1/auth/login""></a></h3><p>Authenticates a user and returns a JWT if the credentials are valid.</p><p><strong>Access:</strong> Public</p><p><strong>Rate Limiting:</strong> This endpoint is rate-limited to prevent brute-force attacks.</p><h4 id="request-body" tabindex="-1">Request Body <a class="header-anchor" href="#request-body" aria-label="Permalink to "Request Body""></a></h4><table tabindex="0"><thead><tr><th style="text-align:left;">Field</th><th style="text-align:left;">Type</th><th style="text-align:left;">Description</th></tr></thead><tbody><tr><td style="text-align:left;"><code>email</code></td><td style="text-align:left;">string</td><td style="text-align:left;">The user's email address.</td></tr><tr><td style="text-align:left;"><code>password</code></td><td style="text-align:left;">string</td><td style="text-align:left;">The user's password.</td></tr></tbody></table><h4 id="responses" tabindex="-1">Responses <a class="header-anchor" href="#responses" aria-label="Permalink to "Responses""></a></h4><ul><li><p><strong>200 OK:</strong> Authentication successful.</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "accessToken"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"your.jwt.token"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "user"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"user-id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "email"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"user@example.com"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "role"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"user"</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></li><li><p><strong>400 Bad Request:</strong> Email or password not provided.</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "message"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Email and password are required"</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></li><li><p><strong>401 Unauthorized:</strong> Invalid credentials.</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "message"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Invalid credentials"</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></li><li><p><strong>500 Internal Server Error:</strong> An unexpected error occurred.</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "message"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"An internal server error occurred"</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></li></ul><h2 id="service-methods" tabindex="-1">Service Methods <a class="header-anchor" href="#service-methods" aria-label="Permalink to "Service Methods""></a></h2><h3 id="verifypassword-password-string-hash-string-promise-boolean" tabindex="-1"><code>verifyPassword(password: string, hash: string): Promise<boolean></code> <a class="header-anchor" href="#verifypassword-password-string-hash-string-promise-boolean" aria-label="Permalink to "`verifyPassword(password: string, hash: string): Promise<boolean>`""></a></h3><p>Compares a plain-text password with a hashed password to verify its correctness.</p><ul><li><strong>password:</strong> The plain-text password.</li><li><strong>hash:</strong> The hashed password to compare against.</li><li><strong>Returns:</strong> A promise that resolves to <code>true</code> if the password is valid, otherwise <code>false</code>.</li></ul><h3 id="login-email-string-password-string-promise-loginresponse-null" tabindex="-1"><code>login(email: string, password: string): Promise<LoginResponse | null></code> <a class="header-anchor" href="#login-email-string-password-string-promise-loginresponse-null" aria-label="Permalink to "`login(email: string, password: string): Promise<LoginResponse | null>`""></a></h3><p>Handles the user login process. It finds the user by email, verifies the password, and generates a JWT upon successful authentication.</p><ul><li><strong>email:</strong> The user's email.</li><li><strong>password:</strong> The user's password.</li><li><strong>Returns:</strong> A promise that resolves to a <code>LoginResponse</code> object containing the <code>accessToken</code> and <code>user</code> details, or <code>null</code> if authentication fails.</li></ul><h3 id="verifytoken-token-string-promise-authtokenpayload-null" tabindex="-1"><code>verifyToken(token: string): Promise<AuthTokenPayload | null></code> <a class="header-anchor" href="#verifytoken-token-string-promise-authtokenpayload-null" aria-label="Permalink to "`verifyToken(token: string): Promise<AuthTokenPayload | null>`""></a></h3><p>Verifies the authenticity and expiration of a JWT.</p><ul><li><strong>token:</strong> The JWT string to verify.</li><li><strong>Returns:</strong> A promise that resolves to the token's <code>AuthTokenPayload</code> if valid, otherwise <code>null</code>.</li></ul></div></div></main><footer class="VPDocFooter" data-v-ef58e7af data-v-28097769><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-28097769><span class="visually-hidden" id="doc-footer-aria-label" data-v-28097769>Pager</span><div class="pager" data-v-28097769><a class="VPLink link pager-link prev" href="/api/authentication.html" data-v-28097769><!--[--><span class="desc" data-v-28097769>Previous page</span><span class="title" data-v-28097769>Authentication</span><!--]--></a></div><div class="pager" data-v-28097769><a class="VPLink link pager-link next" href="/api/archived-email.html" data-v-28097769><!--[--><span class="desc" data-v-28097769>Next page</span><span class="title" data-v-28097769>Archived Email</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_archived-email.md\":\"Di9i_OKb\",\"api_auth.md\":\"Kt3iNEMn\",\"api_authentication.md\":\"DDCP-z1j\",\"api_dashboard.md\":\"CqvOiGVx\",\"api_index.md\":\"DFnFK07E\",\"api_ingestion.md\":\"DOeFHoQv\",\"api_search.md\":\"BRCIJTXq\",\"api_storage.md\":\"DKUKvFrO\",\"index.md\":\"9PKJf5H1\",\"services_index.md\":\"BLn224J3\",\"services_storage-service.md\":\"Dqpyxk77\",\"summary.md\":\"5seSND4L\",\"user-guides_email-providers_google-workspace.md\":\"BWo_12De\",\"user-guides_email-providers_imap.md\":\"Cdk3vG_S\",\"user-guides_email-providers_index.md\":\"DPaSFiTO\",\"user-guides_email-providers_microsoft-365.md\":\"QHHVfYxW\",\"user-guides_installation.md\":\"Lx-5aly3\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Open Archiver\",\"description\":\"Official documentation for the Open Archiver project.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"search\":{\"provider\":\"local\"},\"logo\":{\"src\":\"../assets/logo-sq.svg\"},\"nav\":[{\"text\":\"Home\",\"link\":\"/\"},{\"text\":\"User Guides\",\"link\":\"/user-guides/email-providers/\"}],\"sidebar\":[{\"text\":\"User Guides\",\"items\":[{\"text\":\"Get Started\",\"link\":\"/\"},{\"text\":\"Installation\",\"link\":\"/user-guides/installation\"},{\"text\":\"Email Providers\",\"link\":\"/user-guides/email-providers/\",\"collapsed\":true,\"items\":[{\"text\":\"Google Workspace\",\"link\":\"/user-guides/email-providers/google-workspace\"},{\"text\":\"Generic IMAP Server\",\"link\":\"/user-guides/email-providers/imap\"},{\"text\":\"Microsoft 365\",\"link\":\"/user-guides/email-providers/microsoft-365\"}]}]},{\"text\":\"API Reference\",\"items\":[{\"text\":\"Overview\",\"link\":\"/api/\"},{\"text\":\"Authentication\",\"link\":\"/api/authentication\"},{\"text\":\"Auth\",\"link\":\"/api/auth\"},{\"text\":\"Archived Email\",\"link\":\"/api/archived-email\"},{\"text\":\"Dashboard\",\"link\":\"/api/dashboard\"},{\"text\":\"Ingestion\",\"link\":\"/api/ingestion\"},{\"text\":\"Search\",\"link\":\"/api/search\"},{\"text\":\"Storage\",\"link\":\"/api/storage\"}]},{\"text\":\"Services\",\"items\":[{\"text\":\"Overview\",\"link\":\"/services/\"},{\"text\":\"Storage Service\",\"link\":\"/services/storage-service\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
||
|
||
</body>
|
||
</html> |