Tao Chen 1 год назад
Родитель
Сommit
325b711d3c
1 измененных файлов с 13 добавлено и 0 удалено
  1. 13 0
      src/views/oauth/index.vue

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

@@ -34,6 +34,9 @@
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>
39
+        </el-form-item>
37 40
         <el-form-item label="ClientId" prop="client_id">
38 41
           <el-input v-model="formData.client_id"></el-input>
39 42
         </el-form-item>
@@ -43,6 +46,9 @@
43 46
         <el-form-item label="RedirectUrl" prop="redirect_url">
44 47
           <el-input v-model="formData.redirect_url"></el-input>
45 48
         </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>
46 52
         <el-form-item label="op" prop="op">
47 53
           <el-radio-group v-model="formData.op" :disabled="!!formData.id">
48 54
             <el-radio v-for="item in ops" :key="item.value" :value="item.value" style="display: block">
@@ -82,6 +88,7 @@
82 88
   const ops = [
83 89
     { value: 'github', label: 'Github' },
84 90
     { value: 'google', label: 'Google' },
91
+    { value: 'oidc',   label: 'OIDC'   }
85 92
   ]
86 93
   const getList = async () => {
87 94
     listRes.loading = true
@@ -127,9 +134,11 @@
127 134
   const formData = reactive({
128 135
     id: 0,
129 136
     op: '',
137
+    issuer: '',
130 138
     client_id: '',
131 139
     client_secret: '',
132 140
     redirect_url: '',
141
+    scopes: '',
133 142
     auto_register: false,
134 143
   })
135 144
   const rules = {
@@ -142,9 +151,11 @@
142 151
     formVisible.value = true
143 152
     formData.id = row.id
144 153
     formData.op = row.op
154
+    formData.issuer = row.issuer
145 155
     formData.client_id = row.client_id
146 156
     formData.client_secret = row.client_secret
147 157
     formData.redirect_url = row.redirect_url
158
+    formData.scopes = row.scopes
148 159
     formData.auto_register = row.auto_register
149 160
 
150 161
   }
@@ -152,9 +163,11 @@
152 163
     formVisible.value = true
153 164
     formData.id = 0
154 165
     formData.op = ''
166
+    formData.issuer = ''
155 167
     formData.client_id = ''
156 168
     formData.client_secret = ''
157 169
     formData.redirect_url = ''
170
+    formData.scopes = ''
158 171
     formData.auto_register = false
159 172
   }
160 173
   const form = ref(null)