1 line
7.7 KiB
JavaScript
1 line
7.7 KiB
JavaScript
"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[6178],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var n=r(7294);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 a(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 p(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=n.createContext({}),l=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},c=function(e){var t=l(e.components);return n.createElement(u.Provider,{value:t},e.children)},d="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),d=l(r),f=o,m=d["".concat(u,".").concat(f)]||d[f]||s[f]||i;return r?n.createElement(m,a(a({ref:t},c),{},{components:r})):n.createElement(m,a({ref:t},c))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=f;var p={};for(var u in t)hasOwnProperty.call(t,u)&&(p[u]=t[u]);p.originalType=e,p[d]="string"==typeof e?e:o,a[1]=p;for(var l=2;l<i;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},7271:function(e,t,r){r.r(t),r.d(t,{assets:function(){return c},contentTitle:function(){return u},default:function(){return m},frontMatter:function(){return p},metadata:function(){return l},toc:function(){return d}});var n=r(7462),o=r(3366),i=(r(7294),r(3905)),a=["components"],p={id:"index",title:"OAuth Provider Configuration"},u=void 0,l={unversionedId:"configuration/providers/index",id:"configuration/providers/index",title:"OAuth Provider Configuration",description:"You will need to register an OAuth application with a Provider (Google, GitHub or another provider), and configure it",source:"@site/docs/configuration/providers/index.md",sourceDirName:"configuration/providers",slug:"/configuration/providers/",permalink:"/oauth2-proxy/docs/next/configuration/providers/",draft:!1,editUrl:"https://github.com/oauth2-proxy/oauth2-proxy/edit/master/docs/docs/configuration/providers/index.md",tags:[],version:"current",frontMatter:{id:"index",title:"OAuth Provider Configuration"},sidebar:"docs",previous:{title:"Overview",permalink:"/oauth2-proxy/docs/next/configuration/overview"},next:{title:"Google (default)",permalink:"/oauth2-proxy/docs/next/configuration/providers/google"}},c={},d=[{value:"Email Authentication",id:"email-authentication",level:2},{value:"Adding a new Provider",id:"adding-a-new-provider",level:2}],s={toc:d},f="wrapper";function m(e){var t=e.components,r=(0,o.Z)(e,a);return(0,i.kt)(f,(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"You will need to register an OAuth application with a Provider (Google, GitHub or another provider), and configure it\nwith Redirect URI(s) for the domain you intend to run ",(0,i.kt)("inlineCode",{parentName:"p"},"oauth2-proxy")," on."),(0,i.kt)("p",null,"Valid providers are :"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/google"},"Google")," ",(0,i.kt)("em",{parentName:"li"},"default")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/azure"},"Azure")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/adfs"},"ADFS")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/facebook"},"Facebook")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/github"},"GitHub")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/gitea"},"Gitea")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/keycloak"},"Keycloak"),"/",(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/keycloak_oidc"},"Keycloak OIDC")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/gitlab"},"GitLab")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/linkedin"},"LinkedIn")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/azure_ad"},"Microsoft Azure AD")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/openid_connect"},"OpenID Connect")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/login_gov"},"login.gov")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/nextcloud"},"Nextcloud")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/digitalocean"},"DigitalOcean")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/oauth2-proxy/docs/next/configuration/providers/bitbucket"},"Bitbucket"))),(0,i.kt)("p",null,"The provider can be selected using the ",(0,i.kt)("inlineCode",{parentName:"p"},"provider")," configuration value."),(0,i.kt)("p",null,"Please note that not all providers support all claims. The ",(0,i.kt)("inlineCode",{parentName:"p"},"preferred_username")," claim is currently only supported by the\nOpenID Connect provider."),(0,i.kt)("h2",{id:"email-authentication"},"Email Authentication"),(0,i.kt)("p",null,"To authorize a specific email-domain use ",(0,i.kt)("inlineCode",{parentName:"p"},"--email-domain=yourcompany.com"),". To authorize individual email addresses use\n",(0,i.kt)("inlineCode",{parentName:"p"},"--authenticated-emails-file=/path/to/file")," with one email per line. To authorize all email addresses use ",(0,i.kt)("inlineCode",{parentName:"p"},"--email-domain=*"),"."),(0,i.kt)("h2",{id:"adding-a-new-provider"},"Adding a new Provider"),(0,i.kt)("p",null,"Follow the examples in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/oauth2-proxy/oauth2-proxy/blob/master/providers/"},(0,i.kt)("inlineCode",{parentName:"a"},"providers")," package")," to define a new\n",(0,i.kt)("inlineCode",{parentName:"p"},"Provider")," instance. Add a new ",(0,i.kt)("inlineCode",{parentName:"p"},"case")," to\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/oauth2-proxy/oauth2-proxy/blob/master/providers/providers.go"},(0,i.kt)("inlineCode",{parentName:"a"},"providers.New()"))," to allow ",(0,i.kt)("inlineCode",{parentName:"p"},"oauth2-proxy")," to use the\nnew ",(0,i.kt)("inlineCode",{parentName:"p"},"Provider"),"."))}m.isMDXComponent=!0}}]); |