diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index a136a8e7..aba236da 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -65,6 +65,7 @@ module.exports = {
[
"docusaurus2-dotenv", {
systemvars: true,
+ expand: true,
},
]
],
diff --git a/website/src/api/github.js b/website/src/api/github.js
index 628f38be..bf407760 100644
--- a/website/src/api/github.js
+++ b/website/src/api/github.js
@@ -21,7 +21,7 @@ function bindApiCall({ url, config, errorMessage }) {
async function getAccessToken(code) {
const accessToken = await bindApiCall({
- url: '/github-proxy/login/oauth/access_token',
+ url: `${process.env.REACT_APP_API_PROXY_ENABLE ? '/github-proxy' : 'https://github.com' }/login/oauth/access_token`,
config: {
params: {
code,
@@ -37,7 +37,7 @@ async function getAccessToken(code) {
export async function getUser(access_token) {
const user = await bindApiCall({
- url: '/github-api-proxy/user',
+ url: `${process.env.REACT_APP_API_PROXY_ENABLE ? '/github-api-proxy' : 'https://api.github.com'}/user`,
config: {
headers: { Authorization: `token ${access_token}` },
},
@@ -57,12 +57,11 @@ export async function checkUserCollaboratorStatus(code) {
const { login } = await getUser(access_token)
const isUserCollaborator = await bindApiCall({
- url: `/docs-access/${login}`,
+ url: `${process.env.REACT_APP_API_PROXY_ENABLE ? '/docs-access' : 'https://j20f3pfq11.execute-api.us-east-1.amazonaws.com/Prod/u'}/${login}`,
errorMessage: 'error checkUserCollaboratorStatus'
})
return {
- isAllowed: isUserCollaborator.data,
- access_token
+ isAllowed: isUserCollaborator.data
}
}
\ No newline at end of file
diff --git a/website/src/components/DocPageAuthentication.js b/website/src/components/DocPageAuthentication.js
index 46334b70..94083b8b 100644
--- a/website/src/components/DocPageAuthentication.js
+++ b/website/src/components/DocPageAuthentication.js
@@ -7,7 +7,7 @@ export default function DocAuthentication() {
Welcome on Dagger documentation
Please Sign In to Github to get access to the doc
-
window.location.href = `//github.com/login/oauth/authorize?client_id=${process.env.REACT_APP_CLIENT_ID}&scope=user&allow_signup=false`} />
+ window.location.href = process.env.REACT_APP_GITHUB_AUTHORIZE_URI} />
)
}
\ No newline at end of file
diff --git a/website/src/components/DocPageRedirect.js b/website/src/components/DocPageRedirect.js
index e172ed20..e36e6dd8 100644
--- a/website/src/components/DocPageRedirect.js
+++ b/website/src/components/DocPageRedirect.js
@@ -6,7 +6,7 @@ export default function DocPageRedirect() {
const [counter, setCounter] = useState(10)
useEffect(() => {
- setTimeout(() => window.location.href = "https://dagger.io", 10000)
+ setTimeout(() => window.location.href = process.env.REACT_APP_DAGGER_SITE_URI, 10000)
setInterval(() => setCounter((prevState) => prevState - 1), 1000)
}, [])
@@ -18,7 +18,7 @@ export default function DocPageRedirect() {
It seems you don't have the permission to see Dagger's documentation. But don't worry you can request an Eary Access :). You'll be redirect to Dagger website in {counter} seconds
See you soon !
- If nothing happen, click here to go to Dagger website
+ If nothing happen, click here to go to Dagger website

diff --git a/website/src/theme/DocPage/index.js b/website/src/theme/DocPage/index.js
index 14c7e03c..448e6b24 100644
--- a/website/src/theme/DocPage/index.js
+++ b/website/src/theme/DocPage/index.js
@@ -21,7 +21,7 @@ import { ThemeClassNames, docVersionSearchTag } from '@docusaurus/theme-common';
import { Redirect } from "react-router";
import qs from 'querystringify';
import isEmpty from 'lodash/isEmpty';
-import { checkUserCollaboratorStatus, getUser } from '../../api/github'
+import { checkUserCollaboratorStatus } from '../../api/github'
import { GithubLoginButton } from 'react-social-login-buttons';
import Spinner from '../../components/Spinner';
import DocPageAuthentication from '../../components/DocPageAuthentication';
@@ -139,34 +139,31 @@ function DocPage(props) {
);
// CUSTOM DOCPAGE
- // Do not use Github authentication when in local env or Netlify deploy preview
- if (typeof window === "undefined" ||
- (typeof window !== "undefined" && window?.location?.hostname !== "localhost" && !window.location.hostname.includes('deploy'))) {
+ if (!!process.env.REACT_APP_OAUTH_ENABLE) {
const [isUserAuthorized, setIsUserAuthorized] = useState()
const [isLoading, setIsLoading] = useState(true)
const [redirectState, setRedirectState] = useState()
const authQuery = qs.parse(location.search);
- const [userAccessToken, setUserAccessToken] = useState((() => {
- if (typeof window !== "undefined") return window.localStorage.getItem('user-github-key')
+ const [userAccessStatus, setUserAccessStatus] = useState((() => {
+ if (typeof window !== "undefined") return window.localStorage.getItem('user-github-isAllowed')
})())
useEffect(async () => {
- if (userAccessToken) {
- const user = await getUser(userAccessToken)
- setIsUserAuthorized(user)
+ if (userAccessStatus) {
+ setIsUserAuthorized(userAccessStatus)
} else {
if (!isEmpty(authQuery)) { //callback after successful auth with github
const isUserCollaborator = await checkUserCollaboratorStatus(authQuery.code);
if (isUserCollaborator?.isAllowed) {
- setUserAccessToken(isUserCollaborator.access_token)
- if (typeof window !== "undefined") window.localStorage.setItem('user-github-key', isUserCollaborator.access_token);
+ setUserAccessStatus(isUserCollaborator?.isAllowed)
+ if (typeof window !== "undefined") window.localStorage.setItem('user-github-isAllowed', isUserCollaborator?.isAllowed);
}
setIsUserAuthorized(isUserCollaborator?.isAllowed)
}
}
setIsLoading(false)
- }, [userAccessToken])
+ }, [userAccessStatus])
if (isLoading) return