itizawa 6 лет назад
Родитель
Сommit
aa0d77def5

+ 1 - 1
src/client/js/components/Admin/Security/GithubSecuritySetting.jsx

@@ -67,7 +67,7 @@ class GithubSecurityManagement extends React.Component {
             <input
               className="form-control"
               type="text"
-              value={adminGithubSecurityContainer.state.callbackUrl}
+              value={adminGithubSecurityContainer.state.appSiteUrl}
               readOnly
             />
             <p className="help-block small">{ t('security_setting.desc_of_callback_URL', { AuthName: 'OAuth' }) }</p>

+ 10 - 4
src/client/js/services/AdminGithubSecurityConatainer.js

@@ -1,6 +1,7 @@
 import { Container } from 'unstated';
 
 import loggerFactory from '@alias/logger';
+import { pathUtils } from 'growi-commons';
 
 // eslint-disable-next-line no-unused-vars
 const logger = loggerFactory('growi:security:AdminGithubSecurityContainer');
@@ -17,8 +18,7 @@ export default class AdminGithubSecurityContainer extends Container {
     this.appContainer = appContainer;
 
     this.state = {
-      // TODO GW-583 set value
-      appSiteUrl: '',
+      appSiteUrl: `${pathUtils.removeTrailingSlash(appContainer.config.crowi.url)}/passport/github/callback`,
       githubClientId: '',
       githubClientSecret: '',
       isSameUsernameTreatedAsIdenticalUser: true,
@@ -28,8 +28,14 @@ export default class AdminGithubSecurityContainer extends Container {
 
   }
 
-  init() {
-    // TODO GW-583 fetch config value with api
+  async init() {
+    const response = await this.appContainer.apiv3.get('/security-setting/');
+    const { githubOAuth } = response.data.securityParams;
+    this.setState({
+      githubClientId: githubOAuth.githubClientId,
+      githubClientSecret: githubOAuth.githubClientSecret,
+      isSameUsernameTreatedAsIdenticalUser: githubOAuth.isSameUsernameTreatedAsIdenticalUser,
+    });
   }
 
   /**

+ 6 - 0
src/server/routes/apiv3/security-setting.js

@@ -107,8 +107,14 @@ module.exports = (crowi) => {
 
     const securityParams = {
       generalAuth: {
+        isGithubOAuthEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-github:isEnabled'),
         isTwitterOAuthEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isEnabled'),
       },
+      githubOAuth: {
+        githubClientId: await crowi.configManager.getConfig('crowi', 'security:passport-github:clientId') || '',
+        githubClientSecret: await crowi.configManager.getConfig('crowi', 'security:passport-github:clientSecret') || '',
+        isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-github:isSameUsernameTreatedAsIdenticalUser') || false,
+      },
       twitterOAuth: {
         twitterConsumerKey: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerKey') || '',
         twitterConsumerSecret: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerSecret') || '',