forked from FoundKeyGang/FoundKey
Fix signin (#5181)
* Revert "Fix signin history (#5180)"
This reverts commit a97c14a7b7
.
* fix signin
* failはfail専用に
* fix password less 200
This commit is contained in:
parent
a97c14a7b7
commit
d8c835fa51
1 changed files with 8 additions and 11 deletions
|
@ -53,9 +53,9 @@ export default async (ctx: Koa.BaseContext) => {
|
||||||
// Compare password
|
// Compare password
|
||||||
const same = await bcrypt.compare(password, profile.password!);
|
const same = await bcrypt.compare(password, profile.password!);
|
||||||
|
|
||||||
async function fail(status?: number, failure?: {error: string}) {
|
async function fail(status?: number, failure?: { error: string }) {
|
||||||
// Append signin history
|
// Append signin history
|
||||||
const record = await Signins.save({
|
await Signins.save({
|
||||||
id: genId(),
|
id: genId(),
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
userId: user.id,
|
userId: user.id,
|
||||||
|
@ -64,23 +64,19 @@ export default async (ctx: Koa.BaseContext) => {
|
||||||
success: false
|
success: false
|
||||||
});
|
});
|
||||||
|
|
||||||
// Publish signin event
|
ctx.throw(status || 500, failure || { error: 'someting happened' });
|
||||||
publishMainStream(user.id, 'signin', await Signins.pack(record));
|
|
||||||
|
|
||||||
if (status && failure) {
|
|
||||||
ctx.throw(status, failure);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!profile.twoFactorEnabled) {
|
if (!profile.twoFactorEnabled) {
|
||||||
if (same) {
|
if (same) {
|
||||||
signin(ctx, user);
|
signin(ctx, user);
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
await fail(403, {
|
await fail(403, {
|
||||||
error: 'incorrect password'
|
error: 'incorrect password'
|
||||||
});
|
});
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (token) {
|
if (token) {
|
||||||
|
@ -169,6 +165,7 @@ export default async (ctx: Koa.BaseContext) => {
|
||||||
|
|
||||||
if (isValid) {
|
if (isValid) {
|
||||||
signin(ctx, user);
|
signin(ctx, user);
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
await fail(403, {
|
await fail(403, {
|
||||||
error: 'invalid challenge data'
|
error: 'invalid challenge data'
|
||||||
|
@ -191,6 +188,7 @@ export default async (ctx: Koa.BaseContext) => {
|
||||||
await fail(403, {
|
await fail(403, {
|
||||||
error: 'no keys found'
|
error: 'no keys found'
|
||||||
});
|
});
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 32 byte challenge
|
// 32 byte challenge
|
||||||
|
@ -219,6 +217,5 @@ export default async (ctx: Koa.BaseContext) => {
|
||||||
ctx.status = 200;
|
ctx.status = 200;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// never get here
|
||||||
await fail();
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue