|
|
@@ -11,7 +11,8 @@
|
|
11
|
11
|
<el-card class="list-body" shadow="hover">
|
|
12
|
12
|
<el-table :data="listRes.list" v-loading="listRes.loading" border>
|
|
13
|
13
|
<el-table-column prop="id" label="ID" align="center"/>
|
|
14
|
|
- <el-table-column prop="op" :label="T('Platform')" align="center"/>
|
|
|
14
|
+ <el-table-column prop="op" :label="T('IdP')" align="center"/>
|
|
|
15
|
+ <el-table-column prop="oauth_type" :label="T('Type')" align="center"/>
|
|
15
|
16
|
<el-table-column prop="auto_register" :label="T('AutoRegister')" align="center"/>
|
|
16
|
17
|
<el-table-column prop="created_at" :label="T('CreatedAt')" align="center"/>
|
|
17
|
18
|
<el-table-column prop="updated_at" :label="T('UpdatedAt')" align="center"/>
|
|
|
@@ -34,17 +35,20 @@
|
|
34
|
35
|
</el-card>
|
|
35
|
36
|
<el-dialog v-model="formVisible" :title="!formData.id?T('Create') :T('Update')" width="800">
|
|
36
|
37
|
<el-form class="dialog-form" ref="form" :model="formData" :rules="rules" label-width="120px">
|
|
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">
|
|
|
38
|
+ <el-form-item label="Type" prop="">
|
|
|
39
|
+ <el-radio-group v-model="formData.oauth_type" :disabled="!!formData.id">
|
|
|
40
|
+ <el-radio v-for="item in types" :key="item.value" :value="item.value" style="display: block">
|
|
40
|
41
|
{{ item.label }}
|
|
41
|
42
|
</el-radio>
|
|
42
|
43
|
</el-radio-group>
|
|
43
|
44
|
</el-form-item>
|
|
44
|
|
- <el-form-item v-if="formData.op === 'oidc'" label="Issuer" prop="issuer">
|
|
|
45
|
+ <el-form-item v-if="formData.oauth_type === 'oidc'" label="IdP" prop="op">
|
|
|
46
|
+ <el-input v-model="formData.op" :placeholder="T('Your IdP Name')"></el-input>
|
|
|
47
|
+ </el-form-item>
|
|
|
48
|
+ <el-form-item v-if="formData.oauth_type === 'oidc'" label="Issuer" prop="issuer">
|
|
45
|
49
|
<el-input v-model="formData.issuer" :placeholder="`${T('Check your IdP docs, without')} '/.well-known/openid-configuration'`"></el-input>
|
|
46
|
50
|
</el-form-item>
|
|
47
|
|
- <el-form-item v-show="formData.op === 'oidc'" label="Scopes" prop="scopes">
|
|
|
51
|
+ <el-form-item v-show="formData.oauth_type === 'oidc'" label="Scopes" prop="scopes">
|
|
48
|
52
|
<el-input v-model="formData.scopes" :placeholder="`${T('Optional, default is')} 'openid,profile,email'`" ></el-input>
|
|
49
|
53
|
</el-form-item>
|
|
50
|
54
|
<el-form-item label="ClientId" prop="client_id">
|
|
|
@@ -85,8 +89,8 @@
|
|
85
|
89
|
page: 1,
|
|
86
|
90
|
page_size: 10,
|
|
87
|
91
|
})
|
|
88
|
|
- const ops = [
|
|
89
|
|
- { value: 'github', label: 'Github' },
|
|
|
92
|
+ const types = [
|
|
|
93
|
+ { value: 'github', label: 'GitHub' },
|
|
90
|
94
|
{ value: 'google', label: 'Google' },
|
|
91
|
95
|
{ value: 'oidc', label: 'OIDC' }
|
|
92
|
96
|
]
|
|
|
@@ -134,6 +138,7 @@
|
|
134
|
138
|
const formData = reactive({
|
|
135
|
139
|
id: 0,
|
|
136
|
140
|
op: '',
|
|
|
141
|
+ oauth_type: '',
|
|
137
|
142
|
issuer: '',
|
|
138
|
143
|
client_id: '',
|
|
139
|
144
|
client_secret: '',
|
|
|
@@ -145,13 +150,14 @@
|
|
145
|
150
|
client_id: [{ required: true, message: T('ParamRequired', { param: 'client_id' }), trigger: 'blur' }],
|
|
146
|
151
|
client_secret: [{ required: true, message: T('ParamRequired', { param: 'client_secret' }), trigger: 'blur' }],
|
|
147
|
152
|
redirect_url: [{ required: true, message: T('ParamRequired', { param: 'redirect_url' }), trigger: 'blur' }],
|
|
148
|
|
- op: [{ required: true, message: T('ParamRequired', { param: 'op' }), trigger: 'blur' }],
|
|
|
153
|
+ oauth_type: [{ required: true, message: T('ParamRequired', { param: 'oauth_type' }), trigger: 'blur' }],
|
|
149
|
154
|
issuer: [{ required: true, message: T('ParamRequired', { param: 'issuer' }), trigger: 'blur' }],
|
|
150
|
155
|
}
|
|
151
|
156
|
const toEdit = (row) => {
|
|
152
|
157
|
formVisible.value = true
|
|
153
|
158
|
formData.id = row.id
|
|
154
|
159
|
formData.op = row.op
|
|
|
160
|
+ formData.oauth_type = row.oauth_type
|
|
155
|
161
|
formData.issuer = row.issuer
|
|
156
|
162
|
formData.client_id = row.client_id
|
|
157
|
163
|
formData.client_secret = row.client_secret
|
|
|
@@ -164,6 +170,7 @@
|
|
164
|
170
|
formVisible.value = true
|
|
165
|
171
|
formData.id = 0
|
|
166
|
172
|
formData.op = ''
|
|
|
173
|
+ formData.oauth_type = ''
|
|
167
|
174
|
formData.issuer = ''
|
|
168
|
175
|
formData.client_id = ''
|
|
169
|
176
|
formData.client_secret = ''
|