我有一个控制器来查找一个角色,然后用它做一些事情,控制器看起来像:
router.post('/profile/characters', async ctx => {
try {
ctx.type = 'json';
let req = ctx.request;
if (!('charname' in req.body) || !('charserver' in req.body)) {
return res.json({
'success': false,
error: 'You are missing either the character name, or server'
});
}
let foundChar = await new Promise((res, rej) => {
bnet.wow.character.aggregate({
origin: 'us',
realm: req.body.charserver,
name: req.body.charname,
fields: ['items', 'talents']
}, (err, charData) => {
if (err) {
console.log(err);
return rej(err);
}
return res(charData);
});
});
if ('status' in foundChar) { …Run Code Online (Sandbox Code Playgroud) 我正在使用 koa、koa-passport 和 koa-session 来登录工作正常的用户,但是当我调用 ctx.logout() 时,用户可以刷新并仍然登录。似乎 ctx.session 和/或 cookie 是没有被正确清除。
使用 Postman 发出请求时,这仍然失败。
import Koa = require('koa');
import session = require('koa-session');
import passport = require('koa-passport');
....
app.keys = ['******'];
app.use(session({}, app));
....
app.use(passport.initialize());
app.use(passport.session());
....
router.get('/logout', (ctx: Context) => {
if (ctx.isAuthenticated()) {
ctx.logout();
ctx.session = null; // Added this but still nothing
}
ctx.response.body = true;
});Run Code Online (Sandbox Code Playgroud)
我在 Express 中找到了很多示例,包括以下内容,但对 Koa 没有任何运气:https : //github.com/expressjs/cookie-session/issues/104
我主要从事前端工作,所以对 NodeJS 不是很熟悉。我正在开发一个 Shopify 自定义应用程序,该应用程序的目的是在下订单时它将接收 webhook 请求,并根据该请求将一些数据发送到其他 API(计费应用程序)
我使用 shopify app cli 构建了 shopify 应用程序,我的 server.js 文件如下所示;
import "@babel/polyfill";
import dotenv from "dotenv";
import "isomorphic-fetch";
import createShopifyAuth, { verifyRequest } from "@shopify/koa-shopify-auth";
import graphQLProxy, { ApiVersion } from "@shopify/koa-shopify-graphql-proxy";
import Koa from "koa";
import next from "next";
import Router from "koa-router";
import session from "koa-session";
const { receiveWebhook } = require("@shopify/koa-shopify-webhooks");
import * as handlers from "./handlers/index";
dotenv.config();
const port = parseInt(process.env.PORT, 10) || 8081;
const dev = process.env.NODE_ENV !== …Run Code Online (Sandbox Code Playgroud) koa ×3
koa-session ×3
node.js ×3
javascript ×1
koa-passport ×1
koa2 ×1
passport.js ×1
shopify ×1
shopify-app ×1