+24





![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
![Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)


-LAN-
GitHub
Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Yunlu Wen
Joel
GareArc
NFish
Davide Delbianco
minglu7
Ponder
crazywoola
gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
heyszt
Asuka Minato
Guangdong Liu
Eric Guo
NeatGuyCoding
XlKsyt
Dhruv Gorasiya
crazywoola
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
lyzno1
hj24
GuanMu
非法操作
Copilot
Tonlo
Yusuke Yamada
Novice
kenwoodjw
Ademílson Tonato
znn
yangzheli
9a5f214623
Signed-off-by: NeatGuyCoding <[email protected]> Signed-off-by: lyzno1 <[email protected]> Signed-off-by: kenwoodjw <[email protected]> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Yunlu Wen <[email protected]> Co-authored-by: Joel <[email protected]> Co-authored-by: GareArc <[email protected]> Co-authored-by: NFish <[email protected]> Co-authored-by: Davide Delbianco <[email protected]> Co-authored-by: minglu7 <[email protected]> Co-authored-by: Ponder <[email protected]> Co-authored-by: crazywoola <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: heyszt <[email protected]> Co-authored-by: Asuka Minato <[email protected]> Co-authored-by: Guangdong Liu <[email protected]> Co-authored-by: Eric Guo <[email protected]> Co-authored-by: NeatGuyCoding <[email protected]> Co-authored-by: XlKsyt <[email protected]> Co-authored-by: Dhruv Gorasiya <[email protected]> Co-authored-by: crazywoola <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: lyzno1 <[email protected]> Co-authored-by: hj24 <[email protected]> Co-authored-by: GuanMu <[email protected]> Co-authored-by: 非法操作 <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Tonlo <[email protected]> Co-authored-by: Yusuke Yamada <[email protected]> Co-authored-by: Novice <[email protected]> Co-authored-by: kenwoodjw <[email protected]> Co-authored-by: Ademílson Tonato <[email protected]> Co-authored-by: znn <[email protected]> Co-authored-by: yangzheli <[email protected]>
54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
import { ACCESS_TOKEN_LOCAL_STORAGE_NAME, PASSPORT_LOCAL_STORAGE_NAME } from '@/config'
|
|
import { getPublic, postPublic } from './base'
|
|
|
|
export function setWebAppAccessToken(token: string) {
|
|
localStorage.setItem(ACCESS_TOKEN_LOCAL_STORAGE_NAME, token)
|
|
}
|
|
|
|
export function setWebAppPassport(shareCode: string, token: string) {
|
|
localStorage.setItem(PASSPORT_LOCAL_STORAGE_NAME(shareCode), token)
|
|
}
|
|
|
|
export function getWebAppAccessToken() {
|
|
return localStorage.getItem(ACCESS_TOKEN_LOCAL_STORAGE_NAME) || ''
|
|
}
|
|
|
|
export function getWebAppPassport(shareCode: string) {
|
|
return localStorage.getItem(PASSPORT_LOCAL_STORAGE_NAME(shareCode)) || ''
|
|
}
|
|
|
|
export function clearWebAppAccessToken() {
|
|
localStorage.removeItem(ACCESS_TOKEN_LOCAL_STORAGE_NAME)
|
|
}
|
|
|
|
export function clearWebAppPassport(shareCode: string) {
|
|
localStorage.removeItem(PASSPORT_LOCAL_STORAGE_NAME(shareCode))
|
|
}
|
|
|
|
type isWebAppLogin = {
|
|
logged_in: boolean
|
|
app_logged_in: boolean
|
|
}
|
|
|
|
export async function webAppLoginStatus(enabled: boolean, shareCode: string) {
|
|
if (!enabled) {
|
|
return {
|
|
userLoggedIn: true,
|
|
appLoggedIn: true,
|
|
}
|
|
}
|
|
|
|
// check remotely, the access token could be in cookie (enterprise SSO redirected with https)
|
|
const { logged_in, app_logged_in } = await getPublic<isWebAppLogin>(`/login/status?app_code=${shareCode}`)
|
|
return {
|
|
userLoggedIn: logged_in,
|
|
appLoggedIn: app_logged_in,
|
|
}
|
|
}
|
|
|
|
export async function webAppLogout(shareCode: string) {
|
|
clearWebAppAccessToken()
|
|
clearWebAppPassport(shareCode)
|
|
await postPublic('/logout')
|
|
}
|