小编mil*_*uak的帖子

Passport本地策略完成回调不会传递错误json消息

我试图在身份验证失败时传递JSON消息,在LocalStrategy中使用完成回调,但我得到的只是401和响应中的"未授权"字符串.

var express = require('express');
var bodyParser = require('body-parser');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

var app = express();
app.use(bodyParser.json());
app.use(passport.initialize());

passport.serializeUser(function(user, done) {
    done(null, user.email);
});

var strategy = new LocalStrategy({ usernameField: 'email' },
    function (email, password, done) {
        if (email === 'test@gmail.com' && password === 'pass') {
            return done(null, { email: 'test@gmail.com' });
        } else {
            // never get this json object on the client side when posting invalid credentials
            return done(null, false, { message: 'invalid …
Run Code Online (Sandbox Code Playgroud)

node.js express passport-local passport.js

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

RavenDB MultiMap索引

我是RavenDB的新手.我正在尝试使用多地图索引功能,但我不确定它是否是解决我问题的最佳方法.所以我有三个文件:Unit,Car,People.

汽车文件看起来像这样:

{
 Id: "cars/123",
 PersonId: "people/1235",
 UnitId: "units/4321",
 Make: "Toyota",
 Model: "Prius"
}
Run Code Online (Sandbox Code Playgroud)

People文档看起来像这样:

{
   Id: "people/1235",
   FirstName: "test",
   LastName: "test"
}
Run Code Online (Sandbox Code Playgroud)

单位文件:

{
   Id: "units/4321",
   Address: "blah blah"
}
Run Code Online (Sandbox Code Playgroud)

这是一个缩写示例,在我的真实应用程序中有更多字段,因此数据去规范化将是我的最后手段.

我需要创建和索引,将所有这三个docuemnts连接在一个文档中.像这样的东西:

{
   CarId: "cars/123",
   PersonId: "people/1235",
   UnitId: "units/4321",
   Make: "Toyota",
   Model: "Prius"
   FirstName: "test",
   LastName: "test"
   Address: "blah blah"
}

// same unit different person owns a different car

{
   CarId: "cars/122",
   PersonId: "people/1236",
   UnitId: "units/4321",
   Make: "Toyota",
   Model: "4runner"
   FirstName: "test",
   LastName: "test"
   Address: "blah blah"
} …
Run Code Online (Sandbox Code Playgroud)

ravendb

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

即使实际值相同,组件也会在状态更改时重新渲染

我的ngrx状态包含一组项目:

export interface MyState {
    myItems: ItemType[];
}
Run Code Online (Sandbox Code Playgroud)

我有一个包含带有异步管道的ngFor的组件。

标记

<app-my-item-details-card *ngFor="let myItem of myItems$ | async"> </app-my-item-details-card>
Run Code Online (Sandbox Code Playgroud)

选择器

this.myItems$ = createSelector(getMyState, state => state.myItems);
Run Code Online (Sandbox Code Playgroud)

在 AppMyItemDetailsCardComponent 内部,我有一个布尔标志displayDetails:boolean和按钮按钮 (click)="displayDetails = !displayDetails" 切换布尔标志。在详细信息面板上,我有一些输入显示来自传递给组件的MyItem实例的一些数据。用户可以修改这些 html 元素并单击“保存”按钮,该按钮会触发MyItemUpdateAction操作。在 store reducer 我做这样的事情:

const myItemToModifyIndex = state.myItems.findIndex(...predicated based on the passed a ction...)
// cloning the item that I need to modify.
const myItemClone = [...state.myItems[myItemToModifyIndex]];
// modifying properties on the …
Run Code Online (Sandbox Code Playgroud)

rxjs ngrx angular

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

标签 统计

angular ×1

express ×1

ngrx ×1

node.js ×1

passport-local ×1

passport.js ×1

ravendb ×1

rxjs ×1