标签: keystonejs

KeystoneJS登录

我正在创建一个keystone项目,我需要提供允许或不允许用户使用keystone登录访问.但是,我发现keystoneJS使用电子邮件,密码和csrf发送表单数据.当用户访问登录页面时,将向用户提供此csrf.

然而,我需要做的是通过使用API​​在外部进行通信以登录用户.如何生成_csrf?有另一种方式然后生成两个请求?

谢谢

signing keystonejs

2
推荐指数
1
解决办法
1814
查看次数

使用KeystoneJs进行Mongoose两级人口

我需要用Mongoose/Keystone填充两个级别,但是已经遇到了障碍.

我有3个型号:地区,国家和城市.地区包含国家和国家/地区包含城市

我的模特:

型号区域:

var Region = new keystone.List('Region');

Region.add({
      name: {type: Types.Text}
    , countries: {type: Types.Relationship, ref: 'Country', many: true}
});
Run Code Online (Sandbox Code Playgroud)

模范国家

var Country = new keystone.List('Country');

Country.add({
      name: {type: Types.Text}
    , cities: {type: Types.Relationship, ref: 'City', many: true}
});
Run Code Online (Sandbox Code Playgroud)

模范城市

var City = new keystone.List('City');

City.add({
      name: {type: Types.Text}
});
Run Code Online (Sandbox Code Playgroud)

查询:

keystone.list('Region').model.find()
    .populate('countries')
    .exec(function(err, regions){
        console.log(regions)
    });
Run Code Online (Sandbox Code Playgroud)

产量:

    {
        name: 'Oceania',

        countries: [
            {
                _id: 55d9b260415baa6958ac04c1   
                name: 'Australia',
                cities: [
                    _id: 55d9b260415baa6958ac04c2,
                    _id: 55d9b260415baa6958ac04c3,
                    _id: 55d9b260415baa6958ac04c4
                ]
            }, …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js keystonejs

2
推荐指数
1
解决办法
1072
查看次数

验证Keystone.js中相互依赖的字段

保存项目时,我正在尝试进行验证。这是我的简化模型:

Sample.add({
    isPublished: { type: Types.Boolean, default: false },
    thumbnailImage: { type: Types.CloudinaryImage, folder: 'samples/thumbnails' },
});

Sample.schema.pre('validate', function(next) {
    if (this.isPublished && !(_.isEmpty(this.thumbnailImage.image))) {
        next('Thumbnail Image is required when publishing a sample');
    }
    else {
        next();
    }
});
Run Code Online (Sandbox Code Playgroud)

如果Sample模型isPublished设置为,truethumbnailImage尚未设置,我想提出一个错误。当我输入console.log()这些值时,我分别看到truefalse,但是在Keystone Admin中没有出现验证错误。

我浏览了Github上用于Keystone的示例应用程序,Mongoose文档中有很多示例,但是我还没有看到能够处理多个文档路径的示例。

使用2个字段(当前有12个upvotes)的猫鼬自定义验证的示例对我也不起作用。

我究竟做错了什么?我正在使用Mongoose 3.8.35。

mongoose node.js keystonejs

2
推荐指数
1
解决办法
1206
查看次数

如何在KeystoneJS Admin UI中添加自定义插件?

有没有一种方法可以在KeystoneJs Admin UI中添加自定义插件,而又不会过多地干扰源代码。

javascript plugins node.js keystonejs

2
推荐指数
1
解决办法
1600
查看次数

使用 cloudflare 将请求路由到不同的 Web 应用程序

我目前有两个在 cloudflare 中使用以下 CNAME 设置的 Web 应用程序。两者都是 keystonejs 应用程序。

app1.example.com ===pointing to ===> AWS ALB 1
app2.example.com ===pointing to ===> AWS ALB 2
Run Code Online (Sandbox Code Playgroud)

我已设置 Cloudflare Enterprise,因此我可以在页面规则中使用“渲染覆盖”功能。我使用以下内容设置了 2 个页面规则:

www.example.com ===render override ===> app1.example.com
www.example.com/app2/* ===render override ===> app2.example.com
Run Code Online (Sandbox Code Playgroud)

现在为了访问 app2.example.com 上的 keystonejs 应用程序。使用 app2.example.com/pa 调用该应用程序

我面临的问题是渲染覆盖不允许我使用子路径,并且我不想使用转发规则。我是否需要通过根 URL(即 app2.example.com/ )访问我的 keystone 应用程序?或者还有其他方法可以做到这一点吗?否则,我需要使用反向代理吗?比如nginx?谢谢

cloudflare keystonejs cloudflare-workers terraform-provider-cloudflare

2
推荐指数
1
解决办法
2460
查看次数

如何使用Handlebars在KeystoneJS中指定模板?

我正在尝试为一个特定视图设置模板/布局(不更改默认模板).有人能指出我正确的方向吗?谢谢!

node.js handlebars.js keystonejs

1
推荐指数
1
解决办法
1103
查看次数

在Digital Ocean上部署新的node.js keystoneJS应用程序

我即将部署我的第一个节点应用程序(KeystoneJS)+ mongoDb,我正在考虑使用Digital Ocean.这将是我部署的第一个节点应用程序,并且是第一次使用Digital Ocean.我试图从部署基于keystone的应用程序的其他人那里找到教程或指南但却未能发现它.我非常感谢有人可以分享他们用来部署他们构建的节点app + keystone + mongo的步骤.

谢谢.

deployment mongodb node.js digital-ocean keystonejs

1
推荐指数
1
解决办法
2272
查看次数

KeystoneJS中的下拉菜单/子菜单

我目前正在开发网站。作为要求的一部分,我需要包括一些主菜单项中的下拉菜单/子菜单。我可以使用KeystoneJS创建主菜单项,但似乎找不到有关如何实现子菜单项的教程。我应该怎么做?

keystonejs

1
推荐指数
1
解决办法
871
查看次数

MongoError:未经授权可以执行命令{查找:“ app_updates”,过滤器:{键:“ 0.0.1-admins”},限制:1,batchSize:1,singleBatch:true}

我按照这种方法启动一个KeystoneJS项目。但是进入项目根目录并运行后,node keystone.js我收到错误消息:

------------------------------------------------
An error occurred applying updates, bailing on Keystone init.

Error details:
MongoError: not authorized on <KeystoneJS project name> to execute command { find: "app_updates", filter: { key: "0.0.1-admins" }, limit: 1, batchSize: 1, singleBatch: true }
Run Code Online (Sandbox Code Playgroud)

我研究了此错误,但无法解决。我正在使用OpenSUSE,并且正在使用nodejs8软件包。


当我通过运行在systemd上启动mongodb时:

$ sudo systemctl start mongodb.service
Run Code Online (Sandbox Code Playgroud)

...我收到上述错误。


但是当我通过运行启动mongodb时:

$ sudo mongod
Run Code Online (Sandbox Code Playgroud)

...我没有收到任何错误,keystonejs可以正常工作,我不确定为什么!


通过运行启动mongodb时,$ sudo mongod -f /etc/mongodb.conf出现上述错误。但是,当我通过运行启动mongodb时$ sudo mongod,我没有收到任何错误。因此,看起来问题原因在/etc/mongodb.conf文件内,如下所示:

# mongod.conf

# for documentation of all options, see: …
Run Code Online (Sandbox Code Playgroud)

opensuse mongodb keystonejs

1
推荐指数
1
解决办法
6408
查看次数

在非交互式环境中更新 Keystone 项目的 Prisma、GraphQL 和数据库架构

我正在构建一个正在部署 keystone.js 服务器的 github 操作事件

\n

构建运行时,系统会提示用户回答问题

\n
\xe2\x9e\x9c  server git:(test-me) npm run build\n\n> keystone-app@1.0.0 build\n> keystone build\n\nYour Prisma and GraphQL schemas are not up to date\n\xe2\x9c\x94 Would you like to update your Prisma and GraphQL schemas? \xe2\x80\xa6 no\n
Run Code Online (Sandbox Code Playgroud)\n

我的问题是如何配置工作流程,以便在运行时它会回答“是”?

\n

谢谢!

\n

keystonejs github-actions

1
推荐指数
1
解决办法
1191
查看次数