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
|
* in: formData
|
||||||
* required: true
|
* required: true
|
||||||
* type: string
|
* type: string
|
||||||
*
|
*
|
||||||
* responses:
|
* responses:
|
||||||
* 200:
|
* 200:
|
||||||
* description: OK
|
* description: OK
|
||||||
|
@ -51,66 +51,65 @@ import serialize from '../../../serializers/user';
|
||||||
* @return {Promise<object>}
|
* @return {Promise<object>}
|
||||||
*/
|
*/
|
||||||
module.exports = (params) =>
|
module.exports = (params) =>
|
||||||
new Promise(async (res, rej) =>
|
new Promise(async (res, rej) => {
|
||||||
{
|
// Get 'app_secret' parameter
|
||||||
// Get 'app_secret' parameter
|
const appSecret = params.app_secret;
|
||||||
const appSecret = params.app_secret;
|
if (appSecret == null) {
|
||||||
if (appSecret == null) {
|
return rej('app_secret is required');
|
||||||
return rej('app_secret is required');
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Lookup app
|
// Lookup app
|
||||||
const app = await App.findOne({
|
const app = await App.findOne({
|
||||||
secret: appSecret
|
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
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (session === null) {
|
if (app == null) {
|
||||||
return rej('session not found');
|
return rej('app not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (session.user_id == null) {
|
// Get 'token' parameter
|
||||||
return rej('this session is not allowed yet');
|
const token = params.token;
|
||||||
}
|
if (token == null) {
|
||||||
|
return rej('token is required');
|
||||||
|
}
|
||||||
|
|
||||||
// Lookup access token
|
// Fetch token
|
||||||
const accessToken = await AccessToken.findOne({
|
const session = await AuthSess
|
||||||
app_id: app._id,
|
.findOne({
|
||||||
user_id: session.user_id
|
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