1

プロジェクトに Express + NodeJS + Mongoose.js + PassportJS を使用しています。IOS でクライアント アプリの API キーを作成しました。すべての要求はこの API キーによって行われます。

サーバーからのユーザー関連データが必要になることがあります。例えば:

会場のクエリをリクエストして、現在のユーザーがその会場を既に評価しているかどうかを確認します。

これを行うには、現在のユーザーに関連するクエリを作成するために、ユーザー ID をパラメーターとしてサーバーに送信する必要があります。

Foursquare API でわかるように、リクエスト ユーザーが認証されている場合は、ユーザー関連のデータをクエリできます。ユーザーが認証されておらず、アプリのみが認証されている場合、ユーザー関連のデータを照会することはできません。

では、すべてのユーザーに apikey を与える必要がありますか? または、API を使用する 1 つのアプリケーションに対して 1 つの API キーのみですか?

4

2 に答える 2

2

ユーザー認証に使用できるさまざまなオプションがあるユーザー認証に使用しない理由よりも、passportJs を使用していると述べました。どの方法を選択するかは、要件によって異なります。基本認証をセットアップする方法については、 https://github.com/jaredhanson/passport-local/blob/master/examples/express3/app.jsを参照してください。

上記の例から、ユーザーが認証されているかどうかを確認できます。

function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
res.redirect('/login')
}

その方法をルートミドルウェアとして使用して、ユーザーアクセスを制限するよりも。私が添付したリンクはあなたに非常に良いアイデアを与えると思いますが、それでも何か助けが必要な場合は私に知らせてください..

于 2013-01-27T17:12:32.060 に答える
0

ユーザーを最初にリダイレクトして、Foursquare で認証する必要があります。必要な API キーは 1 つだけです。

次のライブラリのいずれかを使用することを検討してください: https://github.com/Constantine-Fry/Foursquare-API-v2 https://github.com/baztokyo/foursquare-ios-api

または自分でやる: https://developer.foursquare.com/overview/auth

于 2013-01-26T02:58:15.550 に答える