Quellcode durchsuchen

show GitHubSecuritySetting

kaori vor 3 Jahren
Ursprung
Commit
81ca76f997

+ 1 - 1
packages/app/src/client/services/AdminGitHubSecurityContainer.js

@@ -23,7 +23,7 @@ export default class AdminGitHubSecurityContainer extends Container {
 
 
     this.state = {
     this.state = {
       retrieveError: null,
       retrieveError: null,
-      callbackUrl: urljoin(pathUtils.removeTrailingSlash(appContainer.config.crowi.url), '/passport/github/callback'),
+      // callbackUrl: urljoin(pathUtils.removeTrailingSlash(appContainer.config.crowi.url), '/passport/github/callback'),
       // set dummy value tile for using suspense
       // set dummy value tile for using suspense
       githubClientId: this.dummyGithubClientId,
       githubClientId: this.dummyGithubClientId,
       githubClientSecret: '',
       githubClientSecret: '',

+ 17 - 17
packages/app/src/components/Admin/Security/GitHubSecuritySetting.jsx

@@ -15,23 +15,23 @@ import GitHubSecuritySettingContents from './GitHubSecuritySettingContents';
 let retrieveErrors = null;
 let retrieveErrors = null;
 function GitHubSecurityManagement(props) {
 function GitHubSecurityManagement(props) {
   const { adminGitHubSecurityContainer } = props;
   const { adminGitHubSecurityContainer } = props;
-  if (adminGitHubSecurityContainer.state.githubClientId === adminGitHubSecurityContainer.dummyGithubClientId) {
-    throw (async() => {
-      try {
-        await adminGitHubSecurityContainer.retrieveSecurityData();
-      }
-      catch (err) {
-        const errs = toArrayIfNot(err);
-        toastError(errs);
-        retrieveErrors = errs;
-        adminGitHubSecurityContainer.setState({ githubClientId: adminGitHubSecurityContainer.dummyGithubClientIdForError });
-      }
-    })();
-  }
-
-  if (adminGitHubSecurityContainer.state.githubClientId === adminGitHubSecurityContainer.dummyGithubClientIdForError) {
-    throw new Error(`${retrieveErrors.length} errors occured`);
-  }
+  // if (adminGitHubSecurityContainer.state.githubClientId === adminGitHubSecurityContainer.dummyGithubClientId) {
+  //   throw (async() => {
+  //     try {
+  //       await adminGitHubSecurityContainer.retrieveSecurityData();
+  //     }
+  //     catch (err) {
+  //       const errs = toArrayIfNot(err);
+  //       toastError(errs);
+  //       retrieveErrors = errs;
+  //       adminGitHubSecurityContainer.setState({ githubClientId: adminGitHubSecurityContainer.dummyGithubClientIdForError });
+  //     }
+  //   })();
+  // }
+
+  // if (adminGitHubSecurityContainer.state.githubClientId === adminGitHubSecurityContainer.dummyGithubClientIdForError) {
+  //   throw new Error(`${retrieveErrors.length} errors occured`);
+  // }
 
 
   return <GitHubSecuritySettingContents />;
   return <GitHubSecuritySettingContents />;
 }
 }

+ 11 - 5
packages/app/src/components/Admin/Security/GitHubSecuritySettingContents.jsx

@@ -4,6 +4,10 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import PropTypes from 'prop-types';
 import { useTranslation } from 'next-i18next';
 import { useTranslation } from 'next-i18next';
 
 
+import urljoin from 'url-join';
+import { pathUtils } from '@growi/core';
+
+import { useSiteUrl } from '~/stores/context';
 
 
 import AdminGeneralSecurityContainer from '~/client/services/AdminGeneralSecurityContainer';
 import AdminGeneralSecurityContainer from '~/client/services/AdminGeneralSecurityContainer';
 import AdminGitHubSecurityContainer from '~/client/services/AdminGitHubSecurityContainer';
 import AdminGitHubSecurityContainer from '~/client/services/AdminGitHubSecurityContainer';
@@ -33,8 +37,9 @@ class GitHubSecurityManagementContents extends React.Component {
   }
   }
 
 
   render() {
   render() {
-    const { t, adminGeneralSecurityContainer, adminGitHubSecurityContainer } = this.props;
+    const { t, adminGeneralSecurityContainer, adminGitHubSecurityContainer, siteUrl } = this.props;
     const { isGitHubEnabled } = adminGeneralSecurityContainer.state;
     const { isGitHubEnabled } = adminGeneralSecurityContainer.state;
+    const gitHubCallBackUrl = urljoin(pathUtils.removeTrailingSlash(siteUrl), '/passport/github/callback')
 
 
     return (
     return (
 
 
@@ -75,11 +80,11 @@ class GitHubSecurityManagementContents extends React.Component {
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"
-              value={adminGitHubSecurityContainer.state.appSiteUrl}
+              value={gitHubCallBackUrl}
               readOnly
               readOnly
             />
             />
             <p className="form-text text-muted small">{t('security_setting.desc_of_callback_URL', { AuthName: 'OAuth' })}</p>
             <p className="form-text text-muted small">{t('security_setting.desc_of_callback_URL', { AuthName: 'OAuth' })}</p>
-            {!adminGeneralSecurityContainer.state.appSiteUrl && (
+            {!siteUrl && (
               <div className="alert alert-danger">
               <div className="alert alert-danger">
                 <i
                 <i
                   className="icon-exclamation"
                   className="icon-exclamation"
@@ -172,7 +177,7 @@ class GitHubSecurityManagementContents extends React.Component {
           <ol id="collapseHelpForGitHubOauth" className="collapse">
           <ol id="collapseHelpForGitHubOauth" className="collapse">
             {/* eslint-disable-next-line max-len */}
             {/* eslint-disable-next-line max-len */}
             <li dangerouslySetInnerHTML={{ __html: t('security_setting.OAuth.GitHub.register_1', { link: '<a href="https://github.com/settings/developers" target=_blank>GitHub Developer Settings</a>' }) }} />
             <li dangerouslySetInnerHTML={{ __html: t('security_setting.OAuth.GitHub.register_1', { link: '<a href="https://github.com/settings/developers" target=_blank>GitHub Developer Settings</a>' }) }} />
-            <li dangerouslySetInnerHTML={{ __html: t('security_setting.OAuth.GitHub.register_2', { url: adminGitHubSecurityContainer.state.callbackUrl }) }} />
+            <li dangerouslySetInnerHTML={{ __html: t('security_setting.OAuth.GitHub.register_2', { url: gitHubCallBackUrl }) }} />
             <li dangerouslySetInnerHTML={{ __html: t('security_setting.OAuth.GitHub.register_3') }} />
             <li dangerouslySetInnerHTML={{ __html: t('security_setting.OAuth.GitHub.register_3') }} />
           </ol>
           </ol>
         </div>
         </div>
@@ -187,7 +192,8 @@ class GitHubSecurityManagementContents extends React.Component {
 
 
 const GitHubSecurityManagementContentsFC = (props) => {
 const GitHubSecurityManagementContentsFC = (props) => {
   const { t } = useTranslation();
   const { t } = useTranslation();
-  return <GitHubSecurityManagementContents t={t} {...props} />;
+  const { data: siteUrl } = useSiteUrl();
+  return <GitHubSecurityManagementContents t={t} siteUrl={siteUrl} {...props} />;
 };
 };
 
 
 /**
 /**

+ 2 - 2
packages/app/src/components/Admin/Security/SecurityManagementContents.jsx

@@ -7,7 +7,7 @@ import CustomNav from '../../CustomNavigation/CustomNav';
 
 
 import BasicSecuritySetting from './BasicSecuritySetting';
 import BasicSecuritySetting from './BasicSecuritySetting';
 // import FacebookSecuritySetting from './FacebookSecuritySetting';
 // import FacebookSecuritySetting from './FacebookSecuritySetting';
-// import GitHubSecuritySetting from './GitHubSecuritySetting';
+import GitHubSecuritySetting from './GitHubSecuritySetting';
 import GoogleSecuritySetting from './GoogleSecuritySetting';
 import GoogleSecuritySetting from './GoogleSecuritySetting';
 import LdapSecuritySetting from './LdapSecuritySetting';
 import LdapSecuritySetting from './LdapSecuritySetting';
 import LocalSecuritySetting from './LocalSecuritySetting';
 import LocalSecuritySetting from './LocalSecuritySetting';
@@ -130,7 +130,7 @@ const SecurityManagementContents = () => {
             {activeComponents.has('passport_google') && <GoogleSecuritySetting />}
             {activeComponents.has('passport_google') && <GoogleSecuritySetting />}
           </TabPane>
           </TabPane>
           <TabPane tabId="passport_github">
           <TabPane tabId="passport_github">
-            {/* {activeComponents.has('passport_github') && <GitHubSecuritySetting />} */}
+            {activeComponents.has('passport_github') && <GitHubSecuritySetting />}
           </TabPane>
           </TabPane>
           <TabPane tabId="passport_twitter">
           <TabPane tabId="passport_twitter">
             {/* {activeComponents.has('passport_twitter') && <TwitterSecuritySetting />} */}
             {/* {activeComponents.has('passport_twitter') && <TwitterSecuritySetting />} */}