2

私は現在、フロントエンドで AngularJS を使用し、バックエンドで Express を使用するペット プロジェクトに取り組んでいます。Angular フロントエンドは、Restangular モジュールを使用して RESTful リクエストを使用してバックエンドと通信します。バックエンドでは、セッションは Passport を使用して認証されます。ブラウザーでは、認証は非常にうまく機能します (たとえば、Postman を使用すると、ログイン情報を POST してから、必要なものをサーバーから取得できます)。

問題は、Restangular を使用して、最初にログイン情報を含む POST 要求を送信して「ログイン」することです。主なロジックを以下に示します。

    account = Restangular.all 'login'

    $scope.loginInformation = 
        {
            username: ''
            password: ''    
        }
    succesfulLogin = (res) ->
        console.log res
    unsuccesfulLogin = () ->
        console.log "Login failed"
        console.log $scope.loginInformation
    $scope.login = () ->
        account.post($scope.loginInformation).then succesfulLogin, unsuccesfulLogin

正しいユーザー名とパスワードを入力すると、コンソールに「Login Succesful. You are now login」という応答が表示されます。これは、正しいログイン時に送信されるようにコーディングされた応答です (郵便配達員に表示される応答と同じです)。

問題は、何を取得しようとしても、コードで実行されるすべての GET 要求が 403 Forbidden 応答を返すことです。

コンソールでも同じ応答が得られます

GET http://[ADDRESS] 403 (Forbidden) 
Object {data: "Error: Not Authenticated", status: 403, headers: function, config: Object}

ブラウザーと Postman がどのように機能するかはわかりませんが、アプリケーションはわかりません。

同様の設定で運が良かった人はいますか?

私の直感では、これはAngularがCookieを処理する方法に関係していることがわかります(確かではありません)。

4

0 に答える 0