|
|
@@ -37,7 +37,7 @@
|
|
37
|
37
|
</el-card>
|
|
38
|
38
|
<el-dialog v-model="formVisible" :title="!formData.id?T('Create') :T('Update')" width="800">
|
|
39
|
39
|
<el-form class="dialog-form" ref="form" :model="formData" :rules="rules" label-width="120px">
|
|
40
|
|
- <el-form-item label="Type" prop="">
|
|
|
40
|
+ <el-form-item label="Type" prop="oauth_type">
|
|
41
|
41
|
<el-radio-group v-model="formData.oauth_type" :disabled="!!formData.id">
|
|
42
|
42
|
<el-radio v-for="item in types" :key="item.value" :value="item.value" style="display: block">
|
|
43
|
43
|
{{ item.label }}
|
|
|
@@ -57,11 +57,21 @@
|
|
57
|
57
|
<el-input v-model="formData.client_id"></el-input>
|
|
58
|
58
|
</el-form-item>
|
|
59
|
59
|
<el-form-item label="ClientSecret" prop="client_secret">
|
|
60
|
|
- <el-input v-model="formData.client_secret"></el-input>
|
|
|
60
|
+ <el-input
|
|
|
61
|
+ v-model="formData.client_secret"
|
|
|
62
|
+ :type="formData.id ? 'password' : 'text'"
|
|
|
63
|
+ :show-password="!formData.id"
|
|
|
64
|
+ >
|
|
|
65
|
+ </el-input>
|
|
|
66
|
+ </el-form-item>
|
|
|
67
|
+ <el-form-item label="RedirectUrl" prop="redirect_url">
|
|
|
68
|
+ <el-input
|
|
|
69
|
+ v-model="formData.redirect_url"
|
|
|
70
|
+ readonly
|
|
|
71
|
+ suffix-icon="el-icon-document-copy"
|
|
|
72
|
+ @click="copyRedirectUrl"
|
|
|
73
|
+ />
|
|
61
|
74
|
</el-form-item>
|
|
62
|
|
-<!-- <el-form-item label="RedirectUrl" prop="redirect_url">
|
|
63
|
|
- <el-input v-model="formData.redirect_url"></el-input>
|
|
64
|
|
- </el-form-item>-->
|
|
65
|
75
|
<el-form-item label="PkceEnable" prop="pkce_enable">
|
|
66
|
76
|
<el-switch v-model="formData.pkce_enable"
|
|
67
|
77
|
:active-value="true"
|
|
|
@@ -97,6 +107,12 @@
|
|
97
|
107
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
98
|
108
|
import { T } from '@/utils/i18n'
|
|
99
|
109
|
|
|
|
110
|
+ const copyRedirectUrl = () => {
|
|
|
111
|
+ navigator.clipboard.writeText(formData.redirect_url)
|
|
|
112
|
+ .then(() => ElMessage.success('Copied'))
|
|
|
113
|
+ .catch(() => ElMessage.error('Copy failed'))
|
|
|
114
|
+ }
|
|
|
115
|
+
|
|
100
|
116
|
const listRes = reactive({
|
|
101
|
117
|
list: [], total: 0, loading: false,
|
|
102
|
118
|
})
|
|
|
@@ -167,7 +183,7 @@
|
|
167
|
183
|
const rules = {
|
|
168
|
184
|
client_id: [{ required: true, message: T('ParamRequired', { param: 'client_id' }), trigger: 'blur' }],
|
|
169
|
185
|
client_secret: [{ required: true, message: T('ParamRequired', { param: 'client_secret' }), trigger: 'blur' }],
|
|
170
|
|
- redirect_url: [{ required: true, message: T('ParamRequired', { param: 'redirect_url' }), trigger: 'blur' }],
|
|
|
186
|
+ // redirect_url: [{ required: true, message: T('ParamRequired', { param: 'redirect_url' }), trigger: 'blur' }],
|
|
171
|
187
|
oauth_type: [{ required: true, message: T('ParamRequired', { param: 'oauth_type' }), trigger: 'blur' }],
|
|
172
|
188
|
issuer: [{ required: true, message: T('ParamRequired', { param: 'issuer' }), trigger: 'blur' }],
|
|
173
|
189
|
pkce_method: [
|
|
|
@@ -185,6 +201,11 @@
|
|
185
|
201
|
},
|
|
186
|
202
|
],
|
|
187
|
203
|
}
|
|
|
204
|
+
|
|
|
205
|
+ const defaultRedirect = () => {
|
|
|
206
|
+ return `${window.location.origin}/api/oidc/callback`
|
|
|
207
|
+ }
|
|
|
208
|
+
|
|
188
|
209
|
const toEdit = (row) => {
|
|
189
|
210
|
formVisible.value = true
|
|
190
|
211
|
formData.id = row.id
|
|
|
@@ -193,7 +214,7 @@
|
|
193
|
214
|
formData.issuer = row.issuer
|
|
194
|
215
|
formData.client_id = row.client_id
|
|
195
|
216
|
formData.client_secret = row.client_secret
|
|
196
|
|
- formData.redirect_url = row.redirect_url
|
|
|
217
|
+ formData.redirect_url = row.redirect_url || defaultRedirect()
|
|
197
|
218
|
formData.scopes = row.scopes
|
|
198
|
219
|
formData.auto_register = row.auto_register
|
|
199
|
220
|
formData.pkce_enable = row.pkce_enable
|
|
|
@@ -207,7 +228,7 @@
|
|
207
|
228
|
formData.issuer = ''
|
|
208
|
229
|
formData.client_id = ''
|
|
209
|
230
|
formData.client_secret = ''
|
|
210
|
|
- formData.redirect_url = ''
|
|
|
231
|
+ formData.redirect_url = defaultRedirect()
|
|
211
|
232
|
formData.scopes = ''
|
|
212
|
233
|
formData.auto_register = false
|
|
213
|
234
|
formData.pkce_enable = false
|