@@ -14,6 +14,8 @@
|
|||||||
<el-table-column prop="op" :label="T('IdP')" align="center"/>
|
<el-table-column prop="op" :label="T('IdP')" align="center"/>
|
||||||
<el-table-column prop="oauth_type" :label="T('Type')" align="center"/>
|
<el-table-column prop="oauth_type" :label="T('Type')" align="center"/>
|
||||||
<el-table-column prop="auto_register" :label="T('AutoRegister')" align="center"/>
|
<el-table-column prop="auto_register" :label="T('AutoRegister')" align="center"/>
|
||||||
|
<el-table-column prop="pkce_enable" :label="T('PkceEnable')" align="center"/>
|
||||||
|
<el-table-column prop="pkce_method" :label="T('PkceMethod')" align="center"/>
|
||||||
<el-table-column prop="created_at" :label="T('CreatedAt')" align="center"/>
|
<el-table-column prop="created_at" :label="T('CreatedAt')" align="center"/>
|
||||||
<el-table-column prop="updated_at" :label="T('UpdatedAt')" align="center"/>
|
<el-table-column prop="updated_at" :label="T('UpdatedAt')" align="center"/>
|
||||||
<el-table-column :label="T('Actions')" align="center">
|
<el-table-column :label="T('Actions')" align="center">
|
||||||
@@ -60,6 +62,25 @@
|
|||||||
<el-form-item label="RedirectUrl" prop="redirect_url">
|
<el-form-item label="RedirectUrl" prop="redirect_url">
|
||||||
<el-input v-model="formData.redirect_url"></el-input>
|
<el-input v-model="formData.redirect_url"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="PkceEnable" prop="pkce_enable">
|
||||||
|
<el-switch v-model="formData.pkce_enable"
|
||||||
|
:active-value="true"
|
||||||
|
:inactive-value="false">
|
||||||
|
</el-switch>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="12" v-if="formData.pkce_enable">
|
||||||
|
<el-form-item label="PkceMethod" prop="pkce_method">
|
||||||
|
<el-select v-model="formData.pkce_method" placeholder="Select PKCE Method">
|
||||||
|
<el-option label="S256 (Recommended)" value="S256"></el-option>
|
||||||
|
<el-option label="Plain" value="Plain"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<el-form-item :label="T('AutoRegister')" prop="auto_register">
|
<el-form-item :label="T('AutoRegister')" prop="auto_register">
|
||||||
<el-switch v-model="formData.auto_register"
|
<el-switch v-model="formData.auto_register"
|
||||||
:active-value="true"
|
:active-value="true"
|
||||||
@@ -145,6 +166,8 @@
|
|||||||
redirect_url: '',
|
redirect_url: '',
|
||||||
scopes: '',
|
scopes: '',
|
||||||
auto_register: false,
|
auto_register: false,
|
||||||
|
pkce_enable: false,
|
||||||
|
pkce_method: 'S256',
|
||||||
})
|
})
|
||||||
const rules = {
|
const rules = {
|
||||||
client_id: [{ required: true, message: T('ParamRequired', { param: 'client_id' }), trigger: 'blur' }],
|
client_id: [{ required: true, message: T('ParamRequired', { param: 'client_id' }), trigger: 'blur' }],
|
||||||
@@ -152,6 +175,19 @@
|
|||||||
redirect_url: [{ required: true, message: T('ParamRequired', { param: 'redirect_url' }), trigger: 'blur' }],
|
redirect_url: [{ required: true, message: T('ParamRequired', { param: 'redirect_url' }), trigger: 'blur' }],
|
||||||
oauth_type: [{ required: true, message: T('ParamRequired', { param: 'oauth_type' }), trigger: 'blur' }],
|
oauth_type: [{ required: true, message: T('ParamRequired', { param: 'oauth_type' }), trigger: 'blur' }],
|
||||||
issuer: [{ required: true, message: T('ParamRequired', { param: 'issuer' }), trigger: 'blur' }],
|
issuer: [{ required: true, message: T('ParamRequired', { param: 'issuer' }), trigger: 'blur' }],
|
||||||
|
pkce_method: [{ required: false, message: T('ParamRequired', { param: 'pkce_method' }), trigger: 'blur' },
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
const allowedValues = ["S256", "Plain"];
|
||||||
|
if (!allowedValues.includes(value)) {
|
||||||
|
callback(new Error(T('InvalidParam', { param: 'pkce_method' })));
|
||||||
|
} else {
|
||||||
|
callback(); // 校验通过
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'change'
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
const toEdit = (row) => {
|
const toEdit = (row) => {
|
||||||
formVisible.value = true
|
formVisible.value = true
|
||||||
@@ -164,7 +200,8 @@
|
|||||||
formData.redirect_url = row.redirect_url
|
formData.redirect_url = row.redirect_url
|
||||||
formData.scopes = row.scopes
|
formData.scopes = row.scopes
|
||||||
formData.auto_register = row.auto_register
|
formData.auto_register = row.auto_register
|
||||||
|
formData.pkce_enable = row.pkce_enable
|
||||||
|
formData.pkce_method = row.pkce_method
|
||||||
}
|
}
|
||||||
const toAdd = () => {
|
const toAdd = () => {
|
||||||
formVisible.value = true
|
formVisible.value = true
|
||||||
@@ -177,6 +214,8 @@
|
|||||||
formData.redirect_url = ''
|
formData.redirect_url = ''
|
||||||
formData.scopes = ''
|
formData.scopes = ''
|
||||||
formData.auto_register = false
|
formData.auto_register = false
|
||||||
|
formData.pkce_enable = false
|
||||||
|
formData.pkce_method = 'S256'
|
||||||
}
|
}
|
||||||
const form = ref(null)
|
const form = ref(null)
|
||||||
const submit = async () => {
|
const submit = async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user