20 lines
598 B
JavaScript
20 lines
598 B
JavaScript
|
|
const { query } = require('../config/database')
|
||
|
|
|
||
|
|
const LEGACY_PREFIX = 'legacy.'
|
||
|
|
|
||
|
|
async function decodeBasicAuth(token) {
|
||
|
|
if (!token || !token.startsWith(LEGACY_PREFIX)) return null
|
||
|
|
const raw = token.slice(LEGACY_PREFIX.length)
|
||
|
|
const users = await query(
|
||
|
|
'SELECT id, phone, name, avatar, points, role, status, openid FROM users WHERE token = ? AND status = 1',
|
||
|
|
[raw]
|
||
|
|
)
|
||
|
|
return users[0] || null
|
||
|
|
}
|
||
|
|
|
||
|
|
function toLegacyToken(token) {
|
||
|
|
return token && token.startsWith(LEGACY_PREFIX) ? token : LEGACY_PREFIX + token
|
||
|
|
}
|
||
|
|
|
||
|
|
module.exports = { decodeBasicAuth, toLegacyToken, LEGACY_PREFIX }
|