admin-fe/src/api/login.js
Ivan Tashkinov e9b62693de Added 'admin' & 'push' OAuth scopes.
Disabled PleromaFE login feature since PleromaFE shouldn't request admin scope.
2019-12-11 09:08:32 +00:00

43 lines
1 KiB
JavaScript

import request from '@/utils/request'
import { baseName } from './utils'
export async function loginByUsername(username, password, authHost) {
const appsRequest = await request({
baseURL: baseName(authHost),
url: '/api/v1/apps',
method: 'post',
data: {
client_name: `AdminFE_${Math.random()}`,
redirect_uris: `${window.location.origin}/oauth-callback`,
scopes: 'read write follow push admin'
}
})
const app = appsRequest.data
return request({
baseURL: baseName(authHost),
url: '/oauth/token',
method: 'post',
data: {
client_id: app.client_id,
client_secret: app.client_secret,
grant_type: 'password',
username: username,
password: password
}
})
}
export function getUserInfo(token, authHost) {
return request({
baseURL: baseName(authHost),
url: '/api/v1/accounts/verify_credentials',
method: 'get',
headers: token ? { 'Authorization': `Bearer ${token}` } : {}
})
}
const oauth = { loginByUsername, getUserInfo }
export default oauth