我需要对Laravel的APP_KEY进行编码/解码才能在我的Android项目中使用吗?

时间:2018-11-28 21:03:47

标签: android laravel retrofit2 okhttp3

在Laravel项目中,我的.env文件中有一个生成的密钥,如下所示:

APP_KEY=base64:randomcharactershere

经过研究,我发现我需要使用它来建立会话。 在我的Android项目中,我使用Retrofit2和OkHttp3,以下代码是每次发出请求时发送的拦截器:

builder.addInterceptor(new Interceptor() {
           @Override
           public Response intercept(Chain chain) throws IOException {
               Request original = chain.request();
               Request request = original.newBuilder()
                       .header("APP_KEY", "base64:randomcharactershere")
                       .method(original.method(), original.body())
                       .build();

               return chain.proceed(request);
           }
       });

问题是,我不知道是否应该将生成的密钥放在.header("APP_KEY", "key value")中,还是应该解码给定的密钥,因为它前面有“ base64:”或什么,我只是知道在Laravel 5.4之前,键将是一个字符串,我将其直接放在那里,它将返回onResponse方法就好了,但是现在当我这样做时,它总是返回onFailure,并且我已经检查过它是否是一个网络连接错误,它是。有人可以向我介绍该键应该怎么做,或者为什么它不能像以前那样工作?

1 个答案:

答案 0 :(得分:1)

您不应在应用程序外部显示APP_KEY,因为它将用于加密敏感数据(例如cookie和会话)。相反,您应该看看Laravel Passport(与Laravel 5.3+兼容)

通过Passport库,您可以创建可与Android应用共享的API密钥。