diff --git a/website/package.json b/website/package.json
index 9a2c8888..e8ef3030 100644
--- a/website/package.json
+++ b/website/package.json
@@ -4,8 +4,10 @@
"private": true,
"scripts": {
"docusaurus": "docusaurus",
- "start": "docusaurus start",
- "build": "docusaurus build",
+ "start": "OAUTH_ENABLE=false docusaurus start",
+ "start:withAuth": "OAUTH_ENABLE=true docusaurus start",
+ "build": "OAUTH_ENABLE=true docusaurus build",
+ "build:withoutAuth": "OAUTH_ENABLE=false docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
diff --git a/website/src/api/github.js b/website/src/api/github.js
index bf407760..439c975d 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: `${process.env.REACT_APP_API_PROXY_ENABLE ? '/github-proxy' : 'https://github.com' }/login/oauth/access_token`,
+ url: `${process.env.REACT_APP_API_PROXY_ENABLE == 'true' ? '/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: `${process.env.REACT_APP_API_PROXY_ENABLE ? '/github-api-proxy' : 'https://api.github.com'}/user`,
+ url: `${process.env.REACT_APP_API_PROXY_ENABLE == 'true' ? '/github-api-proxy' : 'https://api.github.com'}/user`,
config: {
headers: { Authorization: `token ${access_token}` },
},
@@ -49,7 +49,6 @@ export async function getUser(access_token) {
error: user.data?.error_description,
status: user.status
}
-
}
export async function checkUserCollaboratorStatus(code) {
@@ -57,11 +56,11 @@ export async function checkUserCollaboratorStatus(code) {
const { login } = await getUser(access_token)
const isUserCollaborator = await bindApiCall({
- url: `${process.env.REACT_APP_API_PROXY_ENABLE ? '/docs-access' : 'https://j20f3pfq11.execute-api.us-east-1.amazonaws.com/Prod/u'}/${login}`,
+ url: `${process.env.REACT_APP_API_PROXY_ENABLE == 'true' ? '/docs-access' : 'https://j20f3pfq11.execute-api.us-east-1.amazonaws.com/Prod/u'}/${login}`,
errorMessage: 'error checkUserCollaboratorStatus'
})
return {
- isAllowed: isUserCollaborator.data
+ userPermission: isUserCollaborator.data
}
}
\ No newline at end of file
diff --git a/website/src/theme/DocPage/index.js b/website/src/theme/DocPage/index.js
index 997ca296..9be128a0 100644
--- a/website/src/theme/DocPage/index.js
+++ b/website/src/theme/DocPage/index.js
@@ -139,8 +139,7 @@ function DocPage(props) {
);
// CUSTOM DOCPAGE
- if (process.env.REACT_APP_OAUTH_ENABLE == 'true') {
- const [isUserAuthorized, setIsUserAuthorized] = useState()
+ if (process.env.OAUTH_ENABLE == 'true') {
const [isLoading, setIsLoading] = useState(true)
const [redirectState, setRedirectState] = useState()
const authQuery = qs.parse(location.search);
@@ -149,17 +148,11 @@ function DocPage(props) {
})())
useEffect(async () => {
- if (userAccessStatus) {
- setIsUserAuthorized(userAccessStatus)
- } else {
- if (!isEmpty(authQuery)) { //callback after successful auth with github
- const isUserCollaborator = await checkUserCollaboratorStatus(authQuery.code);
- if (isUserCollaborator?.isAllowed) {
- setUserAccessStatus(isUserCollaborator?.isAllowed)
- if (typeof window !== "undefined") window.localStorage.setItem('user-github-isAllowed', isUserCollaborator?.isAllowed);
- }
-
- setIsUserAuthorized(isUserCollaborator?.isAllowed)
+ if (!isEmpty(authQuery) && userAccessStatus === null) { //callback after successful auth with github
+ const isUserCollaborator = await checkUserCollaboratorStatus(authQuery.code);
+ setUserAccessStatus(isUserCollaborator?.userPermission)
+ if (isUserCollaborator?.userPermission) {
+ if (typeof window !== "undefined") window.localStorage.setItem('user-github-isAllowed', isUserCollaborator?.userPermission);
}
}
setIsLoading(false)
@@ -168,11 +161,11 @@ function DocPage(props) {
if (isLoading) return
- if (isUserAuthorized === false) {
+ if (userAccessStatus === false) {
return
}
- if (typeof isUserAuthorized == 'undefined' || isUserAuthorized?.status === 401) {
+ if (userAccessStatus === null) {
return (
)