Skip to content

Commit fcc61f0

Browse files
committed
feat: enhance redirect URL construction with query parameters in authentication flow
1 parent 27262c9 commit fcc61f0

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

ui/src/components/app-icon/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,11 @@ export const iconMap: any = {
338338
},
339339
[
340340
h('path', {
341-
d: 'M512 512a85.333333 85.333333 0 0 1 42.666667 159.232V746.666667a21.333333 21.333333 0 0 1-21.333334 21.333333h-42.666666a21.333333 21.333333 0 0 1-21.333334-21.333333v-75.434667A85.333333 85.333333 0 0 1 512 512z" p-id="16092"></path><path d="M512 85.333333c129.578667 0 234.666667 104.96 234.666667 234.666667V341.333333H896c23.552 0 42.666667 19.2 42.666667 42.666667v512c0 23.466667-19.114667 42.666667-42.666667 42.666667H128c-23.594667 0-42.666667-19.2-42.666667-42.666667V384c0-23.466667 19.072-42.666667 42.666667-42.666667h149.333333v-21.333333C277.333333 190.293333 382.421333 85.333333 512 85.333333zM170.666667 853.333333h682.666666V426.666667H170.666667v426.666666z m341.333333-682.666666a149.290667 149.290667 0 0 0-149.333333 149.333333V341.333333h298.666666v-21.333333C661.333333 237.44 594.474667 170.666667 512 170.666667z',
341+
d: 'M512 512a85.333333 85.333333 0 0 1 42.666667 159.232V746.666667a21.333333 21.333333 0 0 1-21.333334 21.333333h-42.666666a21.333333 21.333333 0 0 1-21.333334-21.333333v-75.434667A85.333333 85.333333 0 0 1 512 512z',
342+
fill: 'currentColor',
343+
}),
344+
h('path', {
345+
d: 'M512 85.333333c129.578667 0 234.666667 104.96 234.666667 234.666667V341.333333H896c23.552 0 42.666667 19.2 42.666667 42.666667v512c0 23.466667-19.114667 42.666667-42.666667 42.666667H128c-23.594667 0-42.666667-19.2-42.666667-42.666667V384c0-23.466667 19.072-42.666667 42.666667-42.666667h149.333333v-21.333333C277.333333 190.293333 382.421333 85.333333 512 85.333333zM170.666667 853.333333h682.666666V426.666667H170.666667v426.666666z m341.333333-682.666666a149.290667 149.290667 0 0 0-149.333333 149.333333V341.333333h298.666666v-21.333333C661.333333 237.44 594.474667 170.666667 512 170.666667z',
342346
fill: 'currentColor',
343347
}),
344348
],

ui/src/views/chat/user-login/index.vue

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,12 @@ function redirectAuth(authType: string, needMessage: boolean = false) {
299299
}
300300
301301
const config = res.data.config
302-
const redirectUrl = eval(`\`${config.redirectUrl}/${accessToken}\``)
302+
const queryParams = new URLSearchParams(route.query as any).toString()
303+
// 构造带查询参数的redirectUrl
304+
let redirectUrl = `${config.redirectUrl}/${accessToken}`
305+
if (queryParams) {
306+
redirectUrl += `?${queryParams}`
307+
}
303308
let url
304309
if (authType === 'CAS') {
305310
url = config.ldpUri
@@ -380,7 +385,6 @@ onBeforeMount(() => {
380385
// modeList需要去掉lark wecom dingtalk
381386
modeList.value = modeList.value.filter((item) => !['lark', 'wecom', 'dingtalk'].includes(item))
382387
if (QrList.value.length > 0) {
383-
modeList.value = ['QR_CODE', ...modeList.value]
384388
QrList.value.forEach((item) => {
385389
orgOptions.value.push({
386390
key: item,
@@ -392,6 +396,11 @@ onBeforeMount(() => {
392396
: t('views.system.authentication.scanTheQRCode.lark'),
393397
})
394398
})
399+
if (modeList.value.length === 0) {
400+
showQrCodeTab.value = true
401+
} else {
402+
modeList.value = ['QR_CODE', ...modeList.value]
403+
}
395404
}
396405
}
397406
})

ui/src/views/chat/user-login/scanCompinents/larkQrCode.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ const initActive = async () => {
3838
agentId: props.config.app_key,
3939
appSecret: props.config.app_secret
4040
}
41-
42-
const redirectUrl = encodeURIComponent(`${window.location.origin}/chat/api/auth/lark?accessToken=${accessToken}`)
43-
//const redirectUrl = encodeURIComponent(`http://127.0.0.1:8080/chat/api/auth/lark?accessToken=${accessToken}`)
41+
const queryParams = new URLSearchParams(route.query as any).toString()
42+
const redirectUrl = encodeURIComponent(`${window.location.origin}/chat/api/auth/lark?accessToken=${accessToken}&${queryParams}`)
43+
//const redirectUrl = encodeURIComponent(`http://127.0.0.1:8080/chat/api/auth/lark?accessToken=${accessToken}&${queryParams}`)
4444
const url = `https://passport.feishu.cn/suite/passport/oauth/authorize?client_id=${data.agentId}&redirect_uri=${redirectUrl}&response_type=code&state=fit2cloud-lark-qr`
4545
4646
const QRLoginObj = window.QRLogin({

0 commit comments

Comments
 (0)