|
|
@@ -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)
|