使用Api登录

时间:2017-04-26 10:17:52

标签: php laravel rest api

我正在开发一个项目并且正在编写后端。我决定将其作为rest api实现,因为我需要编写一个Web应用程序以及一个移动应用程序。我有问题了解如何登录用户,因为休息api是无状态的。我已经阅读了一些材料,其中提到了每个请求或Oauth2.0的基本身份验证(发送登录凭据)。不推荐基本身份验证,我不明白为什么我应该使用Oauth2.0,因为没有第三方将使用我的api。我的问题是我应该如何实现登录功能以及标准是什么?

3 个答案:

答案 0 :(得分:1)

  1. 将护照包添加到您的项目中,有关详细信息,请参阅此https://laravel.com/docs/5.4/passport
  2. 创建密码授予客户端
  3. 使用令牌
  4. 创建新用户
  5. 使用改装或其他包来调用Laravel api

     /* prepare httpClient */
    httpClient.addInterceptor(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Request orginal = chain.request();
            Request.Builder builder = orginal.newBuilder();
            builder.addHeader("Accept", "application/json");
            if (tools.isAuthorized()) {
                builder.addHeader("Authorization", "Bearer " + tools.getAccessToken());
            }
            builder.method(orginal.method(), orginal.body());
            Request build = builder.build();
            return chain.proceed(build);
        }});
    

    5-调用api并获得响应,然后保存用户令牌。

答案 1 :(得分:0)

您需要为Users表添加唯一的api_token列。

$table->string('api_token', 60)->unique();

在Laravel 5.4中,api.php包含API路由,您需要使用开箱即用的中间件 auth:api ,以便您可以通过api_token验证请求

了解更多 http://bootstrapdojo.com/rest-api-laravel-5-4-with-token-authentication/

答案 2 :(得分:0)

我想您可以创建一个REST API,在JSON Web令牌上提供CRUD操作。