Feathersを使用してアプリを作成しました。私はこのアプリをしばらく使っています。それは、ブログや他のいくつかのWebページを正常にホストします。しかし、私は今、私のルートのいくつかを保護する必要があるという点に達しました。たとえば、私は管理活動(/ admin)のルートを持っていたいと思いますが、特定のユーザーにアクセス権を与えたいだけです。フェザー - 認証と認証
私はauthenticationと認証コンポーネントを使用する必要があることを知っています。しかし、現時点では、私は承認に固執しています。私の目標は、Google経由でOAuthを使用して認証することです。しかし、私の認証の挑戦を乗り越えるためには、ちょうど/admin
ルートをロックダウンする(いいえ、それは配備されていません)ためにハードコードされたユーザー名/パスワードを使用するだけでうれしいです。
瞬間、私は
const app = feathers();
const routes = require('./routes');
app.configure(configuration(path.join(__dirname, '..')));
app.use(compress())
.options('*', cors())
.use(cors())
.use(favicon(path.join(app.get('public'), 'favicon.ico')))
.use('/public', serveStatic(app.get('public'), staticFileSettings))
.use(bodyParser.json())
.use(bodyParser.urlencoded({ extended: true }))
.configure(routes)
.configure(hooks())
.configure(rest())
.configure(socketio())
.configure(services)
.configure(middleware)
.configure(authentication())
;
// Setup the authentication strategy.
app.authenticate({
type: 'local',
'email': '[email protected]',
'password': 'admin'
}).then(function(result){
console.log('Authenticated!', result);
}).catch(function(error){
console.error('Error authenticating!', error);
});
を持っている私の問題は、私は私のアプリを起動したとき、私はエラーを取得し、できるだけ早く私はapp.authenticateもので、コードのブロックを追加すると、です。エラーは言う:
TypeError: app.authenticate is not a function
私が削除した場合app.authenticate(...);
マイアプリは罰金開始しますが、何がロックダウンされていません。私の./routes/index.jsファイルでは、私が持っている:
app.use('/admin', function(req, res) {
res.render('admin/index.html', {});
});
。それは、認証された許可されたユーザーに限られていません。私は何が欠けていますか?裸の最小化で、私はapp.authenticate
エラーを回避する方法を理解しようとしています。
何をしようとしていますか? 'app.authenticate'はクライアント(' feathers-authentication/client')でのみ利用可能です。 – Daff
最終的に、権限のないユーザーが '/ admin'ルート上のビューにアクセスしないようにしようとしています。私の理解から、1)ユーザーを認証する(私はGoogleのOAuthログインを使用したい)、2)ユーザーを認証するという2つのことが必要です。上の質問は、私が#1にいかに執着しているかを説明しています。 – Gary