Clean up
This commit is contained in:
parent
86c60f045f
commit
b93d2922e5
1 changed files with 57 additions and 58 deletions
|
@ -26,7 +26,7 @@ import serialize from '../../../serializers/user';
|
|||
* in: formData
|
||||
* required: true
|
||||
* type: string
|
||||
*
|
||||
*
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
|
@ -51,66 +51,65 @@ import serialize from '../../../serializers/user';
|
|||
* @return {Promise<object>}
|
||||
*/
|
||||
module.exports = (params) =>
|
||||
new Promise(async (res, rej) =>
|
||||
{
|
||||
// Get 'app_secret' parameter
|
||||
const appSecret = params.app_secret;
|
||||
if (appSecret == null) {
|
||||
return rej('app_secret is required');
|
||||
}
|
||||
new Promise(async (res, rej) => {
|
||||
// Get 'app_secret' parameter
|
||||
const appSecret = params.app_secret;
|
||||
if (appSecret == null) {
|
||||
return rej('app_secret is required');
|
||||
}
|
||||
|
||||
// Lookup app
|
||||
const app = await App.findOne({
|
||||
secret: appSecret
|
||||
});
|
||||
|
||||
if (app == null) {
|
||||
return rej('app not found');
|
||||
}
|
||||
|
||||
// Get 'token' parameter
|
||||
const token = params.token;
|
||||
if (token == null) {
|
||||
return rej('token is required');
|
||||
}
|
||||
|
||||
// Fetch token
|
||||
const session = await AuthSess
|
||||
.findOne({
|
||||
token: token,
|
||||
app_id: app._id
|
||||
// Lookup app
|
||||
const app = await App.findOne({
|
||||
secret: appSecret
|
||||
});
|
||||
|
||||
if (session === null) {
|
||||
return rej('session not found');
|
||||
}
|
||||
if (app == null) {
|
||||
return rej('app not found');
|
||||
}
|
||||
|
||||
if (session.user_id == null) {
|
||||
return rej('this session is not allowed yet');
|
||||
}
|
||||
// Get 'token' parameter
|
||||
const token = params.token;
|
||||
if (token == null) {
|
||||
return rej('token is required');
|
||||
}
|
||||
|
||||
// Lookup access token
|
||||
const accessToken = await AccessToken.findOne({
|
||||
app_id: app._id,
|
||||
user_id: session.user_id
|
||||
// Fetch token
|
||||
const session = await AuthSess
|
||||
.findOne({
|
||||
token: token,
|
||||
app_id: app._id
|
||||
});
|
||||
|
||||
if (session === null) {
|
||||
return rej('session not found');
|
||||
}
|
||||
|
||||
if (session.user_id == null) {
|
||||
return rej('this session is not allowed yet');
|
||||
}
|
||||
|
||||
// Lookup access token
|
||||
const accessToken = await AccessToken.findOne({
|
||||
app_id: app._id,
|
||||
user_id: session.user_id
|
||||
});
|
||||
|
||||
// Delete session
|
||||
|
||||
/* https://github.com/Automattic/monk/issues/178
|
||||
AuthSess.deleteOne({
|
||||
_id: session._id
|
||||
});
|
||||
*/
|
||||
AuthSess.remove({
|
||||
_id: session._id
|
||||
});
|
||||
|
||||
// Response
|
||||
res({
|
||||
access_token: accessToken.token,
|
||||
user: await serialize(session.user_id, null, {
|
||||
detail: true
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
// Delete session
|
||||
|
||||
/* https://github.com/Automattic/monk/issues/178
|
||||
AuthSess.deleteOne({
|
||||
_id: session._id
|
||||
});
|
||||
*/
|
||||
AuthSess.remove({
|
||||
_id: session._id
|
||||
});
|
||||
|
||||
// Response
|
||||
res({
|
||||
access_token: accessToken.token,
|
||||
user: await serialize(session.user_id, null, {
|
||||
detail: true
|
||||
})
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue