Node.js APIにMongoDBデータベースからAngular 4フロントエンドにデータを送信するいくつかのルートがあります。Node.jsのAPIルートを保護する
例:
Node.jsのルート:
router.get('/api/articles', (req, res) => {
Article.find({}, (err, articles) => {
if(err) return res.status(500).send("Something went wrong");
res.status(200).send(articles);
});
});
角4サービス機能:
getArticles() {
return this.http.get('http://localhost:3000/api/articles')
.map(res => res.json()).subscribe(res => this.articles = res);
}
の質問はどのように私は私のNode.jsを守るか、ありますブラウザアクセスからのAPIルート?私がhttp://localhost:3000/api/articlesに行くと、私はすべての記事をjson形式で見ることができます。
あなたは本当にすることはできません。使用する角度のAPIを公開する場合は、どのWebエージェントもそのAPIを呼び出すことができます。サイトでは、APIが応答する前にサーバーが確認できるログインしたアカウントを要求することはできますが、できることについてはこれで終わりです。あなたの角度コードの外からアクセスすることをより困難にするために置くことができますが、決定されたハッカーと安全なものは何もありません。 – jfriend00
@ jfriend00ありがとうございます、あなたのコメントは高く評価されています。私の目標は、公開APIルートがブラウザ経由で直接アクセスされるのを防ぐことでした。私はユーザー認証が必要なトークンを使用します。 – mikebrsv