Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import config from "../../../config/index.js";
|
||||
import { Signins } from "../../../models/index.js";
|
||||
import { genId } from "../../../misc/gen-id.js";
|
||||
import { publishMainStream } from "../../../services/stream.js";
|
||||
export default function(ctx, user, redirect = false) {
|
||||
if (redirect) {
|
||||
//#region Cookie
|
||||
ctx.cookies.set("igi", user.token, {
|
||||
path: "/",
|
||||
// SEE: https://github.com/koajs/koa/issues/974
|
||||
// When using a SSL proxy it should be configured to add the "X-Forwarded-Proto: https" header
|
||||
secure: config.url.startsWith("https"),
|
||||
httpOnly: false
|
||||
});
|
||||
//#endregion
|
||||
ctx.redirect(config.url);
|
||||
} else {
|
||||
ctx.body = {
|
||||
id: user.id,
|
||||
i: user.token
|
||||
};
|
||||
ctx.status = 200;
|
||||
}
|
||||
(async ()=>{
|
||||
// Append signin history
|
||||
const record = await Signins.insert({
|
||||
id: genId(),
|
||||
createdAt: new Date(),
|
||||
userId: user.id,
|
||||
ip: ctx.ip,
|
||||
headers: ctx.headers,
|
||||
success: true
|
||||
}).then((x)=>Signins.findOneByOrFail(x.identifiers[0]));
|
||||
// Publish signin event
|
||||
publishMainStream(user.id, "signin", await Signins.pack(record));
|
||||
})();
|
||||
}
|
||||
Reference in New Issue
Block a user