Browse Source

optimize oauth config

Tao Chen 1 year ago
parent
commit
9baaf8ccb2
1 changed files with 13 additions and 12 deletions
  1. 13 12
      src/views/oauth/index.vue

+ 13 - 12
src/views/oauth/index.vue

@@ -34,8 +34,18 @@
34 34
     </el-card>
35 35
     <el-dialog v-model="formVisible" :title="!formData.id?T('Create') :T('Update')" width="800">
36 36
       <el-form class="dialog-form" ref="form" :model="formData" :rules="rules" label-width="120px">
37
-        <el-form-item label="Issuer" prop="issuer">
38
-          <el-input v-model="formData.issuer" :placeholder="formData.op === 'oidc' ? 'Required when OIDC is selected' : 'Not required unless OIDC is selected'"></el-input>
37
+        <el-form-item label="Type" prop="op">
38
+          <el-radio-group v-model="formData.op" :disabled="!!formData.id">
39
+            <el-radio v-for="item in ops" :key="item.value" :value="item.value" style="display: block">
40
+              {{ item.label }}
41
+            </el-radio>
42
+          </el-radio-group>
43
+        </el-form-item>
44
+        <el-form-item v-if="formData.op === 'oidc'" label="Issuer" prop="issuer">
45
+          <el-input v-model="formData.issuer" placeholder="Check your IdP docs, without '/.well-known/openid-configuration'"></el-input>
46
+        </el-form-item>
47
+        <el-form-item v-show="formData.op === 'oidc'" label="Scopes" prop="scopes">
48
+          <el-input v-model="formData.scopes" placeholder= "Optional, default is 'openid,profile,email'"></el-input>
39 49
         </el-form-item>
40 50
         <el-form-item label="ClientId" prop="client_id">
41 51
           <el-input v-model="formData.client_id"></el-input>
@@ -46,16 +56,6 @@
46 56
         <el-form-item label="RedirectUrl" prop="redirect_url">
47 57
           <el-input v-model="formData.redirect_url"></el-input>
48 58
         </el-form-item>
49
-        <el-form-item label="Scopes" prop="scopes">
50
-          <el-input v-model="formData.scopes" :placeholder="formData.op === 'oidc' ? 'Optional when OIDC is selected, default is openid,profile,email' : 'Not required unless OIDC is selected'"></el-input>
51
-        </el-form-item>
52
-        <el-form-item label="op" prop="op">
53
-          <el-radio-group v-model="formData.op" :disabled="!!formData.id">
54
-            <el-radio v-for="item in ops" :key="item.value" :value="item.value" style="display: block">
55
-              {{ item.label }}
56
-            </el-radio>
57
-          </el-radio-group>
58
-        </el-form-item>
59 59
         <el-form-item :label="T('AutoRegister')" prop="auto_register">
60 60
           <el-switch v-model="formData.auto_register"
61 61
                      :active-value="true"
@@ -146,6 +146,7 @@
146 146
     client_secret: [{ required: true, message: T('ParamRequired', { param: 'client_secret' }), trigger: 'blur' }],
147 147
     redirect_url: [{ required: true, message: T('ParamRequired', { param: 'redirect_url' }), trigger: 'blur' }],
148 148
     op: [{ required: true, message: T('ParamRequired', { param: 'op' }), trigger: 'blur' }],
149
+    issuer: [{ required: true, message: T('ParamRequired', { param: 'issuer' }), trigger: 'blur' }],
149 150
   }
150 151
   const toEdit = (row) => {
151 152
     formVisible.value = true