我需要 encode/decode Laravel 的 APP_KEY 才能在我的 Android 项目中使用吗?

Do i need to encode/decode Laravel's APP_KEY to use in my Android project?

在我的 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 之前,键是一个字符串,我会直接把它放在那里,它会 return onResponse 方法就好了,但现在当我这样做时,它总是 returns onFailure,我已经检查过它是否是网络连接错误,确实是。有人可以阐明我应该如何处理该密钥,或者为什么它不能像以前那样工作吗?

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

Passport 库将允许您创建一个 API 密钥,您可以与您的 Android 应用程序共享。