Deploy website - based on ef2628d5b26497fd58981d0ad212c7262098131a
1
0f425520.99c2a351.js
Normal file
1
1.6bac5299.js
Normal file
1
16.7939b288.js
Normal file
1
17.97d991e1.js
Normal file
1
17896441.66eec2ae.js
Normal file
1
18.088d12e8.js
Normal file
@ -0,0 +1 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{91:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),l=a(84);t.default=function(){return o.a.createElement(l.a,{title:"Page Not Found"},o.a.createElement("div",{className:"container margin-vert--xl"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col col--6 col--offset-3"},o.a.createElement("h1",{className:"hero__title"},"Page Not Found"),o.a.createElement("p",null,"We could not find what you were looking for."),o.a.createElement("p",null,"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))}}}]);
|
2
2.c97238d2.js
Normal file
5
2.c97238d2.js.LICENSE.txt
Normal file
@ -0,0 +1,5 @@
|
||||
/*!
|
||||
Copyright (c) 2017 Jed Watson.
|
||||
Licensed under the MIT License (MIT), see
|
||||
http://jedwatson.github.io/classnames
|
||||
*/
|
1
357fe94d.33b065b1.js
Normal file
1
3b8c55ea.dea53a7c.js
Normal file
19
404.html
Normal file
@ -0,0 +1,19 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<meta name="generator" content="Docusaurus v2.0.0-alpha.66">
|
||||
<title data-react-helmet="true">Page Not Found | OAuth2 Proxy</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | OAuth2 Proxy"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docusaurus_language" content="en"><meta data-react-helmet="true" name="docusaurus_tag" content="default"><link data-react-helmet="true" rel="shortcut icon" href="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg"><link rel="stylesheet" href="/oauth2-proxy/styles.29b02411.css">
|
||||
<link rel="preload" href="/oauth2-proxy/styles.1b985414.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/runtime~main.1fddb884.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/main.08dca9ee.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
|
||||
<nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/oauth2-proxy/"><img class="navbar__logo" src="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg" alt="OAuth2 Proxy"><strong class="navbar__title">OAuth2 Proxy</strong></a><a class="navbar__item navbar__link" href="/oauth2-proxy/docs/">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/oauth2-proxy/oauth2-proxy" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2aTZ"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_BsTx">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_BsTx">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/oauth2-proxy/"><img class="navbar__logo" src="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg" alt="OAuth2 Proxy"><strong class="navbar__title">OAuth2 Proxy</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/oauth2-proxy/docs/">Docs</a></li><li class="menu__list-item"><a href="https://github.com/oauth2-proxy/oauth2-proxy" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><div class="container margin-vert--xl"><div class="row"><div class="col col--6 col--offset-3"><h1 class="hero__title">Page Not Found</h1><p>We could not find what you were looking for.</p><p>Please contact the owner of the site that linked you to the original URL and let them know their link is broken.</p></div></div></div></div><footer class="footer footer--dark"><div class="container"><div class="text--center"><div>Copyright © 2020 OAuth2 Proxy.</div></div></div></footer></div>
|
||||
<script src="/oauth2-proxy/styles.1b985414.js"></script>
|
||||
<script src="/oauth2-proxy/runtime~main.1fddb884.js"></script>
|
||||
<script src="/oauth2-proxy/main.08dca9ee.js"></script>
|
||||
</body>
|
||||
</html>
|
1
585bdad0.bcb2d213.js
Normal file
1
935f2afb.93f76895.js
Normal file
@ -0,0 +1 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{65:function(o){o.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Installation","href":"/oauth2-proxy/docs/"},{"type":"link","label":"Behaviour","href":"/oauth2-proxy/docs/behaviour"},{"collapsed":false,"type":"category","label":"Configuration","items":[{"type":"link","label":"Overview","href":"/oauth2-proxy/docs/configuration/overview"},{"type":"link","label":"OAuth Provider Configuration","href":"/oauth2-proxy/docs/configuration/oauth_provider"},{"type":"link","label":"Session Storage","href":"/oauth2-proxy/docs/configuration/session_storage"},{"type":"link","label":"TLS Configuration","href":"/oauth2-proxy/docs/configuration/tls"}]},{"collapsed":false,"type":"category","label":"Features","items":[{"type":"link","label":"Endpoints","href":"/oauth2-proxy/docs/features/endpoints"},{"type":"link","label":"Request Signatures","href":"/oauth2-proxy/docs/features/request_signatures"}]}]},"permalinkToSidebar":{"/oauth2-proxy/docs/behaviour":"docs","/oauth2-proxy/docs/configuration/oauth_provider":"docs","/oauth2-proxy/docs/configuration/overview":"docs","/oauth2-proxy/docs/configuration/session_storage":"docs","/oauth2-proxy/docs/configuration/tls":"docs","/oauth2-proxy/docs/features/endpoints":"docs","/oauth2-proxy/docs/features/request_signatures":"docs","/oauth2-proxy/docs/":"docs"}}')}}]);
|
1
94285305.635f72c5.js
Normal file
@ -0,0 +1 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{66:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return c})),r.d(t,"rightToc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(2),o=r(6),i=(r(0),r(73)),a={id:"behaviour",title:"Behaviour"},c={unversionedId:"behaviour",id:"behaviour",isDocsHomePage:!1,title:"Behaviour",description:"1. Any request passing through the proxy (and not matched by --skip-auth-regex) is checked for the proxy's session cookie (--cookie-name) (or, if allowed, a JWT token - see --skip-jwt-bearer-tokens).",source:"@site/docs/behaviour.md",slug:"/behaviour",permalink:"/oauth2-proxy/docs/behaviour",editUrl:"https://github.com/oauth2-proxy/oauth2-proxy/edit/master/docs/docs/behaviour.md",version:"current",sidebar:"docs",previous:{title:"Installation",permalink:"/oauth2-proxy/docs/"},next:{title:"Overview",permalink:"/oauth2-proxy/docs/configuration/overview"}},s=[],u={rightToc:s};function p(e){var t=e.components,r=Object(o.a)(e,["components"]);return Object(i.b)("wrapper",Object(n.a)({},u,r,{components:t,mdxType:"MDXLayout"}),Object(i.b)("ol",null,Object(i.b)("li",{parentName:"ol"},"Any request passing through the proxy (and not matched by ",Object(i.b)("inlineCode",{parentName:"li"},"--skip-auth-regex"),") is checked for the proxy's session cookie (",Object(i.b)("inlineCode",{parentName:"li"},"--cookie-name"),") (or, if allowed, a JWT token - see ",Object(i.b)("inlineCode",{parentName:"li"},"--skip-jwt-bearer-tokens"),")."),Object(i.b)("li",{parentName:"ol"},"If authentication is required but missing then the user is asked to log in and redirected to the authentication provider (unless it is an Ajax request, i.e. one with ",Object(i.b)("inlineCode",{parentName:"li"},"Accept: application/json"),", in which case 401 Unauthorized is returned)"),Object(i.b)("li",{parentName:"ol"},"After returning from the authentication provider, the oauth tokens are stored in the configured session store (cookie, redis, ...) and a cookie is set"),Object(i.b)("li",{parentName:"ol"},"The request is forwarded to the upstream server with added user info and authentication headers (depending on the configuration)")),Object(i.b)("p",null,"Notice that the proxy also provides a number of useful ",Object(i.b)("a",Object(n.a)({parentName:"p"},{href:"/oauth2-proxy/docs/features/endpoints"}),"endpoints"),"."))}p.isMDXComponent=!0},73:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return f}));var n=r(0),o=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=o.a.createContext({}),p=function(e){var t=o.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=p(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},b=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,a=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=p(r),b=n,f=l["".concat(a,".").concat(b)]||l[b]||d[b]||i;return r?o.a.createElement(f,c(c({ref:t},u),{},{components:r})):o.a.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=b;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,a[1]=c;for(var u=2;u<i;u++)a[u]=r[u];return o.a.createElement.apply(null,a)}return o.a.createElement.apply(null,r)}b.displayName="MDXCreateElement"}}]);
|
1
9f61b932.291b2502.js
Normal file
BIN
assets/images/architecture-08b382c30c02b227fa4c86cb158b600e.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
assets/images/sign-in-page-947a0ef7ee9fb0aa2b7179b8c7a1cc76.png
Normal file
After Width: | Height: | Size: 34 KiB |
1
b5649f1e.525e7c04.js
Normal file
@ -0,0 +1 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{68:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return s})),r.d(t,"rightToc",(function(){return u})),r.d(t,"default",(function(){return p}));var n=r(2),a=r(6),o=(r(0),r(73)),i={id:"request_signatures",title:"Request Signatures"},s={unversionedId:"features/request_signatures",id:"features/request_signatures",isDocsHomePage:!1,title:"Request Signatures",description:"If signature_key is defined, proxied requests will be signed with the",source:"@site/docs/features/request_signatures.md",slug:"/features/request_signatures",permalink:"/oauth2-proxy/docs/features/request_signatures",editUrl:"https://github.com/oauth2-proxy/oauth2-proxy/edit/master/docs/docs/features/request_signatures.md",version:"current",sidebar:"docs",previous:{title:"Endpoints",permalink:"/oauth2-proxy/docs/features/endpoints"}},u=[],c={rightToc:u};function p(e){var t=e.components,r=Object(a.a)(e,["components"]);return Object(o.b)("wrapper",Object(n.a)({},c,r,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,"If ",Object(o.b)("inlineCode",{parentName:"p"},"signature_key")," is defined, proxied requests will be signed with the\n",Object(o.b)("inlineCode",{parentName:"p"},"GAP-Signature")," header, which is a ",Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"https://en.wikipedia.org/wiki/Hash-based_message_authentication_code"}),"Hash-based Message Authentication Code\n(HMAC)"),"\nof selected request information and the request body ",Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"https://github.com/oauth2-proxy/oauth2-proxy/blob/master/oauthproxy.go"}),"see ",Object(o.b)("inlineCode",{parentName:"a"},"SIGNATURE_HEADERS"),"\nin ",Object(o.b)("inlineCode",{parentName:"a"},"oauthproxy.go")),"."),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"signature_key")," must be of the form ",Object(o.b)("inlineCode",{parentName:"p"},"algorithm:secretkey"),", (ie: ",Object(o.b)("inlineCode",{parentName:"p"},'signature_key = "sha1:secret0"'),")"),Object(o.b)("p",null,"For more information about HMAC request signature validation, read the\nfollowing:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html"}),"Amazon Web Services: Signing and Authenticating REST\nRequests")),Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"http://rc3.org/2011/12/02/using-hmac-to-authenticate-web-service-requests/"}),"rc3.org: Using HMAC to authenticate Web service\nrequests"))))}p.isMDXComponent=!0},73:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),p=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},l=function(e){var t=p(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),l=p(r),d=n,f=l["".concat(i,".").concat(d)]||l[d]||b[d]||o;return r?a.a.createElement(f,s(s({ref:t},c),{},{components:r})):a.a.createElement(f,s({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var c=2;c<o;c++)i[c]=r[c];return a.a.createElement.apply(null,i)}return a.a.createElement.apply(null,r)}d.displayName="MDXCreateElement"}}]);
|
33
docs/behaviour/index.html
Normal file
68
docs/configuration/oauth_provider/index.html
Normal file
52
docs/configuration/overview/index.html
Normal file
48
docs/configuration/session_storage/index.html
Normal file
@ -0,0 +1,48 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<meta name="generator" content="Docusaurus v2.0.0-alpha.66">
|
||||
<title data-react-helmet="true">Session Storage | OAuth2 Proxy</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docusaurus_language" content="en"><meta data-react-helmet="true" name="docusaurus_version" content="current"><meta data-react-helmet="true" name="docusaurus_tag" content="docs-default-current"><meta data-react-helmet="true" property="og:title" content="Session Storage | OAuth2 Proxy"><meta data-react-helmet="true" name="description" content="Sessions allow a user's authentication to be tracked between multiple HTTP"><meta data-react-helmet="true" property="og:description" content="Sessions allow a user's authentication to be tracked between multiple HTTP"><meta data-react-helmet="true" property="og:url" content="https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/session_storage"><link data-react-helmet="true" rel="shortcut icon" href="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg"><link data-react-helmet="true" rel="canonical" href="https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/session_storage"><link rel="stylesheet" href="/oauth2-proxy/styles.29b02411.css">
|
||||
<link rel="preload" href="/oauth2-proxy/styles.1b985414.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/runtime~main.1fddb884.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/main.08dca9ee.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/1.6bac5299.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/2.c97238d2.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/16.7939b288.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/18.088d12e8.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/935f2afb.93f76895.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/17896441.66eec2ae.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/9f61b932.291b2502.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
|
||||
<nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/oauth2-proxy/"><img class="navbar__logo" src="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg" alt="OAuth2 Proxy"><strong class="navbar__title">OAuth2 Proxy</strong></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/oauth2-proxy/docs/">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/oauth2-proxy/oauth2-proxy" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2aTZ"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_BsTx">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_BsTx">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/oauth2-proxy/"><img class="navbar__logo" src="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg" alt="OAuth2 Proxy"><strong class="navbar__title">OAuth2 Proxy</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a aria-current="page" class="menu__link navbar__link--active" href="/oauth2-proxy/docs/">Docs</a></li><li class="menu__list-item"><a href="https://github.com/oauth2-proxy/oauth2-proxy" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><div class="docPage_2gpo"><div class="docSidebarContainer_3_JD" role="complementary"><div class="sidebar_2urC"><div class="menu menu--responsive menu_5FrY"><button aria-label="Open Menu" aria-haspopup="true" class="button button--secondary button--sm menu__button" type="button"><svg aria-label="Menu" class="sidebarMenuIcon_Dm3K" xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 32 32" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/oauth2-proxy/docs/">Installation</a></li><li class="menu__list-item"><a class="menu__link" href="/oauth2-proxy/docs/behaviour">Behaviour</a></li><li class="menu__list-item"><a class="menu__link menu__link--sublist menu__link--active" href="#!">Configuration</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/configuration/overview">Overview</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/configuration/oauth_provider">OAuth Provider Configuration</a></li><li class="menu__list-item"><a aria-current="page" class="menu__link menu__link--active active" tabindex="0" href="/oauth2-proxy/docs/configuration/session_storage">Session Storage</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/configuration/tls">TLS Configuration</a></li></ul></li><li class="menu__list-item"><a class="menu__link menu__link--sublist" href="#!">Features</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/features/endpoints">Endpoints</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/features/request_signatures">Request Signatures</a></li></ul></li></ul></div></div></div><main class="docMainContainer_3EyW"><div class="container padding-vert--lg docItemWrapper_1EkI"><div class="row"><div class="col docItemCol_2ASc"><div class="docItemContainer_3QWW"><article><header><h1 class="docTitle_1Lrw">Session Storage</h1></header><div class="markdown"><p>Sessions allow a user's authentication to be tracked between multiple HTTP
|
||||
requests to a service.</p><p>The OAuth2 Proxy uses a Cookie to track user sessions and will store the session
|
||||
data in one of the available session storage backends.</p><p>At present the available backends are (as passed to <code>--session-store-type</code>):</p><ul><li><a href="#cookie-storage">cookie</a> (default)</li><li><a href="#redis-storage">redis</a></li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2cZh" id="cookie-storage"></a>Cookie Storage<a aria-hidden="true" tabindex="-1" class="hash-link" href="#cookie-storage" title="Direct link to heading">#</a></h3><p>The Cookie storage backend is the default backend implementation and has
|
||||
been used in the OAuth2 Proxy historically.</p><p>With the Cookie storage backend, all session information is stored in client
|
||||
side cookies and transferred with each and every request.</p><p>The following should be known when using this implementation:</p><ul><li>Since all state is stored client side, this storage backend means that the OAuth2 Proxy is completely stateless</li><li>Cookies are signed server side to prevent modification client-side</li><li>It is mandatory to set a <code>cookie-secret</code> which will ensure data is encrypted within the cookie data.</li><li>Since multiple requests can be made concurrently to the OAuth2 Proxy, this session implementation
|
||||
cannot lock sessions and while updating and refreshing sessions, there can be conflicts which force
|
||||
users to re-authenticate</li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2cZh" id="redis-storage"></a>Redis Storage<a aria-hidden="true" tabindex="-1" class="hash-link" href="#redis-storage" title="Direct link to heading">#</a></h3><p>The Redis Storage backend stores sessions, encrypted, in redis. Instead sending all the information
|
||||
back the the client for storage, as in the <a href="#cookie-storage">Cookie storage</a>, a ticket is sent back
|
||||
to the user as the cookie value instead.</p><p>A ticket is composed as the following:</p><p><code>{CookieName}-{ticketID}.{secret}</code></p><p>Where:</p><ul><li>The <code>CookieName</code> is the OAuth2 cookie name (_oauth2_proxy by default)</li><li>The <code>ticketID</code> is a 128 bit random number, hex-encoded</li><li>The <code>secret</code> is a 128 bit random number, base64url encoded (no padding). The secret is unique for every session.</li><li>The pair of <code>{CookieName}-{ticketID}</code> comprises a ticket handle, and thus, the redis key
|
||||
to which the session is stored. The encoded session is encrypted with the secret and stored
|
||||
in redis via the <code>SETEX</code> command.</li></ul><p>Encrypting every session uniquely protects the refresh/access/id tokens stored in the session from
|
||||
disclosure.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2cZh" id="usage"></a>Usage<a aria-hidden="true" tabindex="-1" class="hash-link" href="#usage" title="Direct link to heading">#</a></h4><p>When using the redis store, specify <code>--session-store-type=redis</code> as well as the Redis connection URL, via
|
||||
<code>--redis-connection-url=redis://host[:port][/db-number]</code>.</p><p>You may also configure the store for Redis Sentinel. In this case, you will want to use the
|
||||
<code>--redis-use-sentinel=true</code> flag, as well as configure the flags <code>--redis-sentinel-master-name</code>
|
||||
and <code>--redis-sentinel-connection-urls</code> appropriately.</p><p>Redis Cluster is available to be the backend store as well. To leverage it, you will need to set the
|
||||
<code>--redis-use-cluster=true</code> flag, and configure the flags <code>--redis-cluster-connection-urls</code> appropriately.</p><p>Note that flags <code>--redis-use-sentinel=true</code> and <code>--redis-use-cluster=true</code> are mutually exclusive.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/oauth2-proxy/oauth2-proxy/edit/master/docs/docs/configuration/sessions.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 40 40" style="margin-right:0.3em;vertical-align:sub"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></div></div><div class="margin-vert--lg"><nav class="pagination-nav" aria-label="Blog list page navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/oauth2-proxy/docs/configuration/oauth_provider"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">« OAuth Provider Configuration</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/oauth2-proxy/docs/configuration/tls"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">TLS Configuration »</div></a></div></nav></div></div></div><div class="col col--3"><div class="tableOfContents_3SO_"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#cookie-storage" class="table-of-contents__link">Cookie Storage</a></li><li><a href="#redis-storage" class="table-of-contents__link">Redis Storage</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container"><div class="text--center"><div>Copyright © 2020 OAuth2 Proxy.</div></div></div></footer></div>
|
||||
<script src="/oauth2-proxy/styles.1b985414.js"></script>
|
||||
<script src="/oauth2-proxy/runtime~main.1fddb884.js"></script>
|
||||
<script src="/oauth2-proxy/main.08dca9ee.js"></script>
|
||||
<script src="/oauth2-proxy/1.6bac5299.js"></script>
|
||||
<script src="/oauth2-proxy/2.c97238d2.js"></script>
|
||||
<script src="/oauth2-proxy/16.7939b288.js"></script>
|
||||
<script src="/oauth2-proxy/18.088d12e8.js"></script>
|
||||
<script src="/oauth2-proxy/935f2afb.93f76895.js"></script>
|
||||
<script src="/oauth2-proxy/17896441.66eec2ae.js"></script>
|
||||
<script src="/oauth2-proxy/9f61b932.291b2502.js"></script>
|
||||
</body>
|
||||
</html>
|
39
docs/configuration/tls/index.html
Normal file
33
docs/features/endpoints/index.html
Normal file
40
docs/features/request_signatures/index.html
Normal file
@ -0,0 +1,40 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<meta name="generator" content="Docusaurus v2.0.0-alpha.66">
|
||||
<title data-react-helmet="true">Request Signatures | OAuth2 Proxy</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docusaurus_language" content="en"><meta data-react-helmet="true" name="docusaurus_version" content="current"><meta data-react-helmet="true" name="docusaurus_tag" content="docs-default-current"><meta data-react-helmet="true" property="og:title" content="Request Signatures | OAuth2 Proxy"><meta data-react-helmet="true" name="description" content="If signature_key is defined, proxied requests will be signed with the"><meta data-react-helmet="true" property="og:description" content="If signature_key is defined, proxied requests will be signed with the"><meta data-react-helmet="true" property="og:url" content="https://oauth2-proxy.github.io/oauth2-proxy/docs/features/request_signatures"><link data-react-helmet="true" rel="shortcut icon" href="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg"><link data-react-helmet="true" rel="canonical" href="https://oauth2-proxy.github.io/oauth2-proxy/docs/features/request_signatures"><link rel="stylesheet" href="/oauth2-proxy/styles.29b02411.css">
|
||||
<link rel="preload" href="/oauth2-proxy/styles.1b985414.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/runtime~main.1fddb884.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/main.08dca9ee.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/1.6bac5299.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/2.c97238d2.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/16.7939b288.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/18.088d12e8.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/935f2afb.93f76895.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/17896441.66eec2ae.js" as="script">
|
||||
<link rel="preload" href="/oauth2-proxy/b5649f1e.525e7c04.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
|
||||
<nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/oauth2-proxy/"><img class="navbar__logo" src="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg" alt="OAuth2 Proxy"><strong class="navbar__title">OAuth2 Proxy</strong></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/oauth2-proxy/docs/">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/oauth2-proxy/oauth2-proxy" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2aTZ"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_BsTx">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_BsTx">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/oauth2-proxy/"><img class="navbar__logo" src="/oauth2-proxy/img/logos/OAuth2_Proxy_icon.svg" alt="OAuth2 Proxy"><strong class="navbar__title">OAuth2 Proxy</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a aria-current="page" class="menu__link navbar__link--active" href="/oauth2-proxy/docs/">Docs</a></li><li class="menu__list-item"><a href="https://github.com/oauth2-proxy/oauth2-proxy" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><div class="docPage_2gpo"><div class="docSidebarContainer_3_JD" role="complementary"><div class="sidebar_2urC"><div class="menu menu--responsive menu_5FrY"><button aria-label="Open Menu" aria-haspopup="true" class="button button--secondary button--sm menu__button" type="button"><svg aria-label="Menu" class="sidebarMenuIcon_Dm3K" xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 32 32" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/oauth2-proxy/docs/">Installation</a></li><li class="menu__list-item"><a class="menu__link" href="/oauth2-proxy/docs/behaviour">Behaviour</a></li><li class="menu__list-item"><a class="menu__link menu__link--sublist" href="#!">Configuration</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/configuration/overview">Overview</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/configuration/oauth_provider">OAuth Provider Configuration</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/configuration/session_storage">Session Storage</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/configuration/tls">TLS Configuration</a></li></ul></li><li class="menu__list-item"><a class="menu__link menu__link--sublist menu__link--active" href="#!">Features</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/oauth2-proxy/docs/features/endpoints">Endpoints</a></li><li class="menu__list-item"><a aria-current="page" class="menu__link menu__link--active active" tabindex="0" href="/oauth2-proxy/docs/features/request_signatures">Request Signatures</a></li></ul></li></ul></div></div></div><main class="docMainContainer_3EyW"><div class="container padding-vert--lg docItemWrapper_1EkI"><div class="row"><div class="col docItemCol_2ASc"><div class="docItemContainer_3QWW"><article><header><h1 class="docTitle_1Lrw">Request Signatures</h1></header><div class="markdown"><p>If <code>signature_key</code> is defined, proxied requests will be signed with the
|
||||
<code>GAP-Signature</code> header, which is a <a href="https://en.wikipedia.org/wiki/Hash-based_message_authentication_code" target="_blank" rel="noopener noreferrer">Hash-based Message Authentication Code
|
||||
(HMAC)</a>
|
||||
of selected request information and the request body <a href="https://github.com/oauth2-proxy/oauth2-proxy/blob/master/oauthproxy.go" target="_blank" rel="noopener noreferrer">see <code>SIGNATURE_HEADERS</code>
|
||||
in <code>oauthproxy.go</code></a>.</p><p><code>signature_key</code> must be of the form <code>algorithm:secretkey</code>, (ie: <code>signature_key = "sha1:secret0"</code>)</p><p>For more information about HMAC request signature validation, read the
|
||||
following:</p><ul><li><a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html" target="_blank" rel="noopener noreferrer">Amazon Web Services: Signing and Authenticating REST
|
||||
Requests</a></li><li><a href="http://rc3.org/2011/12/02/using-hmac-to-authenticate-web-service-requests/" target="_blank" rel="noopener noreferrer">rc3.org: Using HMAC to authenticate Web service
|
||||
requests</a></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/oauth2-proxy/oauth2-proxy/edit/master/docs/docs/features/request_signatures.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 40 40" style="margin-right:0.3em;vertical-align:sub"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></div></div><div class="margin-vert--lg"><nav class="pagination-nav" aria-label="Blog list page navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/oauth2-proxy/docs/features/endpoints"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">« Endpoints</div></a></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></div></div></div><div class="col col--3"><div class="tableOfContents_3SO_"></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container"><div class="text--center"><div>Copyright © 2020 OAuth2 Proxy.</div></div></div></footer></div>
|
||||
<script src="/oauth2-proxy/styles.1b985414.js"></script>
|
||||
<script src="/oauth2-proxy/runtime~main.1fddb884.js"></script>
|
||||
<script src="/oauth2-proxy/main.08dca9ee.js"></script>
|
||||
<script src="/oauth2-proxy/1.6bac5299.js"></script>
|
||||
<script src="/oauth2-proxy/2.c97238d2.js"></script>
|
||||
<script src="/oauth2-proxy/16.7939b288.js"></script>
|
||||
<script src="/oauth2-proxy/18.088d12e8.js"></script>
|
||||
<script src="/oauth2-proxy/935f2afb.93f76895.js"></script>
|
||||
<script src="/oauth2-proxy/17896441.66eec2ae.js"></script>
|
||||
<script src="/oauth2-proxy/b5649f1e.525e7c04.js"></script>
|
||||
</body>
|
||||
</html>
|
33
docs/index.html
Normal file
1
efc9be4b.f8ffd2b0.js
Normal file
1
f3976560.46f00387.js
Normal file
BIN
img/architecture.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
img/logos/OAuth2_Proxy_horizontal.png
Normal file
After Width: | Height: | Size: 108 KiB |
1
img/logos/OAuth2_Proxy_horizontal.svg
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
img/logos/OAuth2_Proxy_icon.png
Normal file
After Width: | Height: | Size: 47 KiB |
1
img/logos/OAuth2_Proxy_icon.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><defs><style>.cls-1{fill:#06ed94;}.cls-2{fill:#059b61;}.cls-3{fill:#1957ba;}.cls-4{fill:#6ca8ff;}</style></defs><title>OAuth2_Proxy_logo_v3</title><path class="cls-1" d="M179.00205,349.728c-93.69483,0-169.921-76.22687-169.921-169.9217S85.30722,9.88462,179.00205,9.88462c93.69408,0,169.92021,76.22687,169.92021,169.9217S272.69613,349.728,179.00205,349.728Zm0-327.81581c-87.06238,0-157.89338,70.831-157.89338,157.89411s70.831,157.89411,157.89338,157.89411,157.89411-70.831,157.89411-157.89411S266.06442,21.91221,179.00205,21.91221Z"/><polygon class="cls-2" points="208.628 90.373 203.724 108.705 243.153 141.064 280.21 136.494 208.628 90.373"/><polygon class="cls-1" points="304.604 167.593 304.604 133.558 250.778 87.759 208.628 90.373 260.02 131.65 53.401 131.65 53.401 169.893 304.604 167.593"/><polygon class="cls-3" points="149.376 261.504 154.28 243.172 113.684 209.179 77.795 215.382 149.376 261.504"/><polygon class="cls-4" points="53.401 184.283 53.401 218.319 107.226 264.118 149.376 261.504 97.984 220.226 304.604 220.226 304.604 181.984 53.401 184.283"/></svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
img/logos/OAuth2_Proxy_vertical.png
Normal file
After Width: | Height: | Size: 55 KiB |
1
img/logos/OAuth2_Proxy_vertical.svg
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
img/sign-in-page.png
Normal file
After Width: | Height: | Size: 34 KiB |
30
index.html
Normal file
2
main.08dca9ee.js
Normal file
44
main.08dca9ee.js.LICENSE.txt
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
object-assign
|
||||
(c) Sindre Sorhus
|
||||
@license MIT
|
||||
*/
|
||||
|
||||
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
||||
* @license MIT */
|
||||
|
||||
/** @license React v0.19.1
|
||||
* scheduler.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/** @license React v16.13.1
|
||||
* react-is.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/** @license React v16.14.0
|
||||
* react-dom.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/** @license React v16.14.0
|
||||
* react.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
1
runtime~main.1fddb884.js
Normal file
@ -0,0 +1 @@
|
||||
!function(e){function r(r){for(var n,f,u=r[0],c=r[1],i=r[2],l=0,d=[];l<u.length;l++)f=u[l],Object.prototype.hasOwnProperty.call(o,f)&&o[f]&&d.push(o[f][0]),o[f]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(p&&p(r);d.length;)d.shift()();return a.push.apply(a,i||[]),t()}function t(){for(var e,r=0;r<a.length;r++){for(var t=a[r],n=!0,f=1;f<t.length;f++){var c=t[f];0!==o[c]&&(n=!1)}n&&(a.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={15:0},a=[];function f(e){return u.p+""+({3:"0f425520",4:"17896441",5:"357fe94d",6:"3b8c55ea",7:"585bdad0",8:"935f2afb",9:"94285305",10:"9f61b932",11:"b5649f1e",12:"efc9be4b",13:"f3976560"}[e]||e)+"."+{1:"6bac5299",2:"c97238d2",3:"99c2a351",4:"66eec2ae",5:"33b065b1",6:"dea53a7c",7:"bcb2d213",8:"93f76895",9:"635f72c5",10:"291b2502",11:"525e7c04",12:"f8ffd2b0",13:"46f00387",16:"7939b288",17:"97d991e1",18:"088d12e8"}[e]+".js"}function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var a,c=document.createElement("script");c.charset="utf-8",c.timeout=120,u.nc&&c.setAttribute("nonce",u.nc),c.src=f(e);var i=new Error;a=function(r){c.onerror=c.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,t[1](i)}o[e]=void 0}};var l=setTimeout((function(){a({type:"timeout",target:c})}),12e4);c.onerror=c.onload=a,document.head.appendChild(c)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="/oauth2-proxy/",u.gca=function(e){return f(e={17896441:"4",94285305:"9","0f425520":"3","357fe94d":"5","3b8c55ea":"6","585bdad0":"7","935f2afb":"8","9f61b932":"10",b5649f1e:"11",efc9be4b:"12",f3976560:"13"}[e]||e)},u.oe=function(e){throw console.error(e),e};var c=window.webpackJsonp=window.webpackJsonp||[],i=c.push.bind(c);c.push=r,c=c.slice();for(var l=0;l<c.length;l++)r(c[l]);var p=i;t()}([]);
|
1
sitemap.xml
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/behaviour</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/session_storage</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/tls</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/features/endpoints</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://oauth2-proxy.github.io/oauth2-proxy/docs/features/request_signatures</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
1
styles.1b985414.js
Normal file
@ -0,0 +1 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[,,,,,,,,,,,,,,,function(n,e,o){},,,,,,,,,,,,,,,,,,,,,,,,function(n,e,o){},,,,function(n,e,o){},function(n,e,o){},,,function(n,e,o){n.exports={tableOfContents:"tableOfContents_3SO_",docItemContainer:"docItemContainer_2n-t"}},function(n,e,o){n.exports={codeBlockContent:"codeBlockContent_1u-d",codeBlockTitle:"codeBlockTitle_3nn1",codeBlock:"codeBlock_3iAC",codeBlockWithTitle:"codeBlockWithTitle_3QsD",copyButton:"copyButton_10dd",codeBlockLines:"codeBlockLines_b7E3"}},function(n,e,o){},function(n,e,o){n.exports={enhancedAnchor:"enhancedAnchor_2cZh"}},function(n,e,o){n.exports={mdxCodeBlock:"mdxCodeBlock_1XEh"}},function(n,e,o){n.exports={announcementBar:"announcementBar_1l0Z",announcementBarClose:"announcementBarClose_21wD",announcementBarContent:"announcementBarContent_1xni",announcementBarCloseable:"announcementBarCloseable_3Cek"}},function(n,e,o){n.exports={toggle:"toggle_BsTx"}},function(n,e,o){n.exports={displayOnlyInLargeViewport:"displayOnlyInLargeViewport_2aTZ",hideLogoText:"hideLogoText_GP-Q",navbarHideable:"navbarHideable_3046",navbarHidden:"navbarHidden_1Uo_"}},function(n,e,o){n.exports={footerLogoLink:"footerLogoLink_1zJy"}},function(n,e,o){},,function(n,e,o){n.exports={docTitle:"docTitle_1Lrw",docItemContainer:"docItemContainer_3QWW",docItemCol:"docItemCol_2ASc",docItemWrapper:"docItemWrapper_1EkI",docLastUpdatedAt:"docLastUpdatedAt_217_"}},function(n,e,o){n.exports={sidebar:"sidebar_2urC",sidebarWithHideableNavbar:"sidebarWithHideableNavbar_2IoJ",sidebarLogo:"sidebarLogo_Snse",menu:"menu_5FrY",menuLinkText:"menuLinkText_2zSB",menuWithAnnouncementBar:"menuWithAnnouncementBar_18ic",sidebarMenuIcon:"sidebarMenuIcon_Dm3K",sidebarMenuCloseIcon:"sidebarMenuCloseIcon_hir9"}},function(n,e,o){n.exports={docPage:"docPage_2gpo",docSidebarContainer:"docSidebarContainer_3_JD",docMainContainer:"docMainContainer_3EyW"}}]]);
|