Search code examples
laravellaravel-4cartalyst-sentry

Laravel 4 + Sentry 2 as Web service


My question is how do I use laravel 4 with sentry 2 to authenticate users that is calling my API? What are the proper ways in doing this?

Example: a user in native iOS app calls my Laravel Web service (returns JSON response), how can laravel+sentry authenticate the user?

Thanks in advance and comment if you need more info.


Solution

  • If the client is able to persist cookies, you just login with Sentry and it should work. Otherwise, after a common Sentry authentication, create and store an authentication token in your users table:

    $table->string('api_token',96)->nullable();
    

    Then use it in all other calls:

    {
        "token": "a358dafd256cb5b26a944eacc1c7428a97f6d1e079c3f1972696f1bea7fff099",
        "user": {
            "id": "3",
            "email": "[email protected]",
            "permissions": [],
            "activated": true,
            "activated_at": null,
            "last_login": "2014-03-08 11:17:48",
            "first_name": null,
            "last_name": null,
            "created_at": "2014-03-08 10:29:08",
            "updated_at": "2014-03-08 11:17:48",
            "api_token": "a358dafd256cb5b26a944eacc1c7428a97f6d1e079c3f1972696f1bea7fff099"
        }
    }
    

    An article about this: http://rjv.im/post/78940780589/api-token-authentication-with-laravel-and-sentry