0

Web アプリの認証に関するアドバイスを探しています。Node、Express、Passport を使用してこのアプリを構築しています

このアプリには、基本認証 (セッション作成なし) を使用する REST API があり、フォーム認証 (セッション作成あり) を使用していくつかの Angular.js Web ページをホストします。

Angular ページを、別の Auth 戦略を使用している REST API に接続したいと考えています。私には2つのオプションがあるようです:

  1. カスタム Basic Auth ミドルウェアを作成します (Passport はそのままではこれを実行しないため)。これは、リクエストにセッション認証がある場合はセッション認証を行い、それ以外の場合は標準の基本認証を行います

  2. 基本認証 (外部使用用) とフォーム認証 (アプリ ページ用) の 2 つの API を公開します。

OAuth2 を使用することも選択肢の 1 つかもしれないと聞いた場合、それはサード パーティで認証する場合にのみ意味がありますか?

4

1 に答える 1

1

私の現在の解決策は、残りの API で混合認証 (セッションと基本) を実行することでした。セッションが存在する場合は続行し、そうでない場合は基本認証を実行します。次のように:

api.coffee:

app.api.external.get("/agents", [auth.basic], (req, res) ->
    res.json myListOfAgents

auth_middleware.coffee

basic: (req, res, next) ->
    if req.isAuthenticated()
        return next()
    else
        return passport.authenticate('basic', { session: false })(req, res, next)
于 2013-07-24T12:16:17.100 に答える