1
0
mirror of https://github.com/sasjs/server.git synced 2025-12-10 19:34:34 +00:00

fix: provide clientId to web component

This commit is contained in:
Saad Jutt
2022-04-19 21:26:55 +05:00
parent 8a3fe8b217
commit db70b1ce55
2 changed files with 13 additions and 11 deletions

View File

@@ -5,12 +5,17 @@ import { getWebBuildFolderPath } from '../../utils'
const webRouter = express.Router()
const codeToInject = `
const jsCodeForDesktopMode = `
<script>
localStorage.setItem('accessToken', JSON.stringify('accessToken'))
localStorage.setItem('refreshToken', JSON.stringify('refreshToken'))
</script>`
const jsCodeForServerMode = `
<script>
localStorage.setItem('CLIENT_ID', '${process.env.CLIENT_ID}')
</script>`
webRouter.get('/', async (_, res) => {
let content: string
try {
@@ -21,14 +26,12 @@ webRouter.get('/', async (_, res) => {
}
const { MODE } = process.env
if (MODE?.trim() !== 'server') {
const injectedContent = content.replace('</head>', `${codeToInject}</head>`)
const codeToInject =
MODE?.trim() === 'server' ? jsCodeForServerMode : jsCodeForDesktopMode
const injectedContent = content.replace('</head>', `${codeToInject}</head>`)
res.setHeader('Content-Type', 'text/html')
return res.send(injectedContent)
}
return res.send(content)
res.setHeader('Content-Type', 'text/html')
return res.send(injectedContent)
})
export default webRouter

View File

@@ -45,13 +45,12 @@ const Login = ({ setTokens, getCodeOnly }: any) => {
error = false
setErrorMessage('')
e.preventDefault()
let clientId = process.env.CLIENT_ID
let clientId = process.env.CLIENT_ID ?? localStorage.getItem('CLIENT_ID')
if (getCodeOnly) {
const params = new URLSearchParams(location.search)
const responseType = params.get('response_type')
if (responseType === 'code')
clientId = params.get('client_id') ?? undefined
if (responseType === 'code') clientId = params.get('client_id')
}
const { code } = await getAuthCode({