2

Flux Fluxible js プロジェクトでデコレータ stage:0 をサポートする babel を使用しています。サービス API モジュールに認証済みデコレータを使用して、有効なユーザー セッションを確認したいと考えています。

グーグルで調べてみると、さまざまなバリエーションを説明している投稿がいくつかあるようですが、決定的なドキュメントや説明書は見つかりませんでした.

これまでに試したことは次のとおりです。認証された関数のパラメーターが正しくないことはわかっています。また、エクスポート オブジェクトを使用するだけでなく、モジュールのクラスを実装する必要があるかどうかもわかりません。

ドキュメントが見つからなかった部分は、デコレータ自体を実装する方法です。この場合、装飾された関数が受け取ってチェックする req パラメータを取るものです。

// how do I change this method so that it can be implemented as a decorator
function checkAuthenticated(req) {

    if (!req.session || !req.session.username)
    {
        throw new Error('unauthenticated');
    }
}

module.exports = {
    @checkAuthenticated
    read: function(req, resource, params, serviceConfig, callback) {
        //@authenticated decorator should allow me to move this out of this here
        //checkAuthenticated(req);
        if (resource === 'product.search') {
            var keyword = params.text;
            if (!keyword || keyword.length === 0) {
                return callback('empty param', null);
            } else {
                searchProducts(keyword, callback);
            }
        }

    }
};
4

1 に答える 1